Skip to content

Commit 7bcefca

Browse files
Merge branch 'main' into feature/e2e-regression
2 parents db99c41 + 64fb16b commit 7bcefca

File tree

57 files changed

+951
-1272
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+951
-1272
lines changed

.circleci/config.yml

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -417,28 +417,36 @@ jobs:
417417
if [ << parameters.env >> == "prod" ]; then
418418
echo "Build version: $CURRENT_VERSION"
419419
cp ./redisinsight/package.json ./electron/package.json
420+
echo "$VERSION" > electron/version
420421
exit 0
421422
fi
422423
423424
VERSION=$CURRENT_VERSION-<< parameters.env >>-$CIRCLE_BUILD_NUM
424425
echo "Build version: $VERSION"
426+
echo "$VERSION" > electron/version
425427
echo $(jq ".version=\"$VERSION\"" redisinsight/package.json) > electron/package.json
426428
- persist_to_workspace:
427429
root: /root/project
428430
paths:
429431
- electron
430432
linux:
431-
docker:
432-
- image: circleci/node:15.14.0
433+
machine:
434+
image: ubuntu-2004:202101-01
433435
resource_class: large
434436
parameters:
435437
env:
436438
description: Build environment (stage || prod)
437439
type: enum
438440
default: stage
439441
enum: ['stage', 'prod', 'dev']
442+
redisstack:
443+
description: Build RedisStack archives
444+
type: boolean
445+
default: true
440446
steps:
441447
- checkout
448+
- node/install:
449+
node-version: '14.17'
442450
- attach_workspace:
443451
at: .
444452
- run:
@@ -465,12 +473,27 @@ jobs:
465473
fi
466474
467475
UPGRADES_LINK='' SEGMENT_WRITE_KEY='' yarn package:stage
476+
- when:
477+
condition:
478+
equal: [ true, << parameters.redisstack >> ]
479+
steps:
480+
- run:
481+
name: Build sources
482+
command: ./.circleci/redisstack/build.sh
483+
- run:
484+
name: Build modules
485+
command: |
486+
PLATFORM=linux ARCH=x64 .circleci/redisstack/build_modules.sh
487+
PLATFORM=linux ARCH=arm64 .circleci/redisstack/build_modules.sh
488+
PLATFORM=darwin ARCH=x64 .circleci/redisstack/build_modules.sh
489+
PLATFORM=darwin ARCH=arm64 .circleci/redisstack/build_modules.sh
468490
- persist_to_workspace:
469491
root: .
470492
paths:
471493
- release/RedisInsight*.deb
472494
- release/RedisInsight*.AppImage
473495
- release/*-linux.yml
496+
- release/redisstack
474497
macosx:
475498
macos:
476499
xcode: 13.2.1
@@ -773,17 +796,6 @@ jobs:
773796
774797
done
775798
776-
release-guides:
777-
executor: linux-executor
778-
steps:
779-
- checkout
780-
- run:
781-
name: Release guides
782-
command: |
783-
cd ./redisinsight/ui/src/packages/enablement-area && zip -r data.zip .
784-
mkdir -p _build && mv data.zip ./_build
785-
echo "{\"timestamp\":$(date +%s)}" > ./_build/build.json
786-
aws s3 cp _build/ s3://${AWS_BUCKET_NAME}/public/guides --recursive
787799
workflows:
788800
build:
789801
jobs:
@@ -1039,13 +1051,3 @@ workflows:
10391051
report: true
10401052
requires:
10411053
- Build app - Linux (stage)
1042-
guides:
1043-
jobs:
1044-
- guides-approve:
1045-
type: approval
1046-
name: Approve guides release
1047-
<<: *guidesFilter
1048-
- release-guides:
1049-
name: Build & release
1050-
requires:
1051-
- Approve guides release

.circleci/redisstack/build.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
# install deps
4+
yarn
5+
yarn --cwd redisinsight/api
6+
7+
# build
8+
yarn build:statics
9+
yarn build:web
10+
yarn --cwd ./redisinsight/api build:prod
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
PLATFORM=${PLATFORM:-'linux'}
4+
ELECTRON_VERSION=$(cat electron/version)
5+
VERSION=${ELECTRON_VERSION:-'redisstack'}
6+
ARCH=${ARCH:-'x64'}
7+
FILENAME="RedisInsight-$PLATFORM.$VERSION.$ARCH.zip"
8+
9+
# reinstall backend prod dependencies only (optimise space)
10+
rm -rf redisinsight/api/node_modules
11+
12+
npm_config_arch="$ARCH" \
13+
npm_config_target_arch="$ARCH" \
14+
npm_config_platform="$PLATFORM" \
15+
npm_config_target_platform="$PLATFORM" \
16+
npm_config_keytar_binary_host_mirror="$KEYTAR_MIRROR" \
17+
npm_config_node_sqlite3_binary_host_mirror="$SQLITE_MIRROR" \
18+
yarn --cwd ./redisinsight/api install --production
19+
20+
cp redisinsight/api/.yarnclean.prod redisinsight/api/.yarnclean
21+
yarn --cwd ./redisinsight/api autoclean --force
22+
23+
rm -rf redisinsight/build.zip
24+
cd redisinsight && zip -r build.zip \
25+
api/node_modules \
26+
api/dist \
27+
ui/dist \
28+
&& cd ..
29+
30+
mkdir -p release/redisstack
31+
cp redisinsight/build.zip release/redisstack/"$FILENAME"

redisinsight/api/config/default.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ export default {
2121
pluginsAssets: join(staticDir, 'resources', 'plugins'),
2222
commands: join(homedir, 'commands'),
2323
defaultCommandsDir: join(defaultsDir, 'commands'),
24-
enablementArea: join(homedir, 'enablement-area'),
24+
enablementArea: process.env.GUIDES_DEV_PATH || join(homedir, 'enablement-area'),
2525
defaultEnablementArea: join(defaultsDir, 'enablement-area'),
26+
content: process.env.CONTENT_DEV_PATH || join(homedir, 'content'),
27+
defaultContent: join(defaultsDir, 'content'),
2628
caCertificates: join(homedir, 'ca_certificates'),
2729
clientCertificates: join(homedir, 'client_certificates'),
2830
},
@@ -34,6 +36,7 @@ export default {
3436
customPluginsUri: '/plugins',
3537
staticUri: '/static',
3638
enablementAreaUri: '/static/workbench',
39+
contentUri: '/static/content',
3740
defaultPluginsUri: '/static/plugins',
3841
pluginsAssetsUri: '/static/resources/plugins',
3942
secretStoragePassword: process.env.SECRET_STORAGE_PASSWORD,
@@ -90,9 +93,17 @@ export default {
9093
},
9194
enablementArea: {
9295
updateUrl: process.env.ENABLEMENT_AREA_UPDATE_URL
93-
|| 'https://s3.amazonaws.com/redisinsight.download/public/guides',
96+
|| 'https://github.com/RedisInsight/Guides/releases/download/latest',
9497
zip: process.env.ENABLEMENT_AREA_ZIP || 'data.zip',
9598
buildInfo: process.env.ENABLEMENT_AREA_CHECKSUM || 'build.json',
99+
devMode: !!process.env.GUIDES_DEV_PATH,
100+
},
101+
content: {
102+
updateUrl: process.env.CONTENT_UPDATE_URL
103+
|| 'https://github.com/RedisInsight/Statics/releases/download/latest',
104+
zip: process.env.CONTENT_ZIP || 'data.zip',
105+
buildInfo: process.env.CONTENT_CHECKSUM || 'build.json',
106+
devMode: !!process.env.CONTENT_DEV_PATH,
96107
},
97108
workbench: {
98109
maxResultSize: parseInt(process.env.COMMAND_EXECUTION_MAX_RESULT_SIZE, 10) || 1024 * 1024,

redisinsight/api/config/production.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export default {
88
logs: join(homedir, 'logs'),
99
customPlugins: join(homedir, 'plugins'),
1010
commands: join(homedir, 'commands'),
11-
enablementArea: join(homedir, 'enablement-area'),
11+
enablementArea: process.env.GUIDES_DEV_PATH || join(homedir, 'enablement-area'),
12+
content: process.env.CONTENT_DEV_PATH || join(homedir, 'content'),
1213
caCertificates: join(homedir, 'ca_certificates'),
1314
clientCertificates: join(homedir, 'client_certificates'),
1415
},

redisinsight/api/config/staging.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export default {
88
logs: join(homedir, 'logs'),
99
customPlugins: join(homedir, 'plugins'),
1010
commands: join(homedir, 'commands'),
11-
enablementArea: join(homedir, 'enablement-area'),
11+
enablementArea: process.env.GUIDES_DEV_PATH || join(homedir, 'enablement-area'),
12+
content: process.env.CONTENT_DEV_PATH || join(homedir, 'content'),
1213
caCertificates: join(homedir, 'ca_certificates'),
1314
clientCertificates: join(homedir, 'client_certificates'),
1415
},

redisinsight/api/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"body-parser": "^1.19.0",
5252
"class-transformer": "^0.2.3",
5353
"class-validator": "^0.12.2",
54+
"dotenv": "^16.0.0",
5455
"express": "^4.17.1",
5556
"fs-extra": "^10.0.0",
5657
"ioredis": "^4.27.1",

redisinsight/api/src/app.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ import config from 'src/utils/config';
99
import { PluginModule } from 'src/modules/plugin/plugin.module';
1010
import { CommandsModule } from 'src/modules/commands/commands.module';
1111
import { WorkbenchModule } from 'src/modules/workbench/workbench.module';
12-
import { EnablementAreaModule } from 'src/modules/enablement-area/enablement-area.module';
1312
import { SharedModule } from './modules/shared/shared.module';
1413
import { InstancesModule } from './modules/instances/instances.module';
1514
import { BrowserModule } from './modules/browser/browser.module';
1615
import { RedisEnterpriseModule } from './modules/redis-enterprise/redis-enterprise.module';
1716
import { RedisSentinelModule } from './modules/redis-sentinel/redis-sentinel.module';
1817
import { MonitorModule } from './modules/monitor/monitor.module';
1918
import { CliModule } from './modules/cli/cli.module';
19+
import { StaticsManagementModule } from './modules/statics-management/statics-management.module';
2020
import { SettingsController } from './controllers/settings.controller';
2121
import { ServerInfoController } from './controllers/server-info.controller';
2222
import { routes } from './app.routes';
@@ -64,7 +64,7 @@ const PATH_CONFIG = config.get('dir_path');
6464
fallthrough: false,
6565
},
6666
}),
67-
EnablementAreaModule,
67+
StaticsManagementModule,
6868
],
6969
controllers: [SettingsController, ServerInfoController],
7070
providers: [],

redisinsight/api/src/main.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'dotenv/config'
12
import { NestFactory } from '@nestjs/core';
23
import { SwaggerModule } from '@nestjs/swagger';
34
import { NestApplicationOptions } from '@nestjs/common';

redisinsight/api/src/modules/enablement-area/enablement-area.module.ts

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)