Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,10 @@ jobs:
condition:
equal: [ true, << parameters.redisstack >> ]
steps:
- run:
name: Repack AppImage to tar
command: |
ARCH=x86_64 ./.circleci/redisstack/app-image.repack.sh
- run:
name: Build sources
command: ./.circleci/redisstack/build.sh
Expand All @@ -492,8 +496,8 @@ jobs:
root: .
paths:
- release/RedisInsight*.deb
- release/RedisInsight*.AppImage
- release/RedisInsight*.rpm
- release/RedisInsight*.AppImage
- release/*-linux.yml
- release/redisstack
macosx:
Expand Down Expand Up @@ -540,13 +544,20 @@ jobs:
UPGRADES_LINK='' SEGMENT_WRITE_KEY='' yarn package:stage
rm -rf release/mac
no_output_timeout: 15m

- run:
name: Repack dmg to tar
command: |
ARCH=x64 ./.circleci/redisstack/dmg.repack.sh
ARCH=arm64 ./.circleci/redisstack/dmg.repack.sh
- persist_to_workspace:
root: .
paths:
- release/RedisInsight*.zip
- release/RedisInsight*.dmg
- release/RedisInsight*.dmg.blockmap
- release/*-mac.yml
- release/redisstack
windows:
executor:
name: win/default
Expand Down
24 changes: 24 additions & 0 deletions .circleci/redisstack/app-image.repack.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

ARCH=${ARCH:-x86_64}
WORKING_DIRECTORY=$(pwd)
SOURCE_APP=${SOURCE_APP:-"RedisInsight-V2-linux-$ARCH.AppImage"}
APP_FOLDER_NAME="RedisInsight-V2-linux"
TAR_NAME="RedisInsight-V2-app-linux.$ARCH.tar.gz"
TMP_FOLDER="/tmp/RedisInsight-app-$ARCH"

rm -rf "$TMP_FOLDER"

mkdir -p "$WORKING_DIRECTORY/release/redisstack"
mkdir -p "$TMP_FOLDER"

cp "./release/$SOURCE_APP" "$TMP_FOLDER"
cd "$TMP_FOLDER" || exit 1

./"$SOURCE_APP" --appimage-extract
mv squashfs-root "$APP_FOLDER_NAME"

tar -czvf "$TAR_NAME" "$APP_FOLDER_NAME"

cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/"
cd "$WORKING_DIRECTORY" || exit 1
14 changes: 8 additions & 6 deletions .circleci/redisstack/build_modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

PLATFORM=${PLATFORM:-'linux'}
ELECTRON_VERSION=$(cat electron/version)
VERSION=${ELECTRON_VERSION:-'redisstack'}
ARCH=${ARCH:-'x64'}
FILENAME="RedisInsight-$PLATFORM.$VERSION.$ARCH.zip"
#FILENAME="RedisInsight-$PLATFORM.$VERSION.$ARCH.zip"
FILENAME="RedisInsight-V2-web-$PLATFORM.$ARCH.tar.gz"

# reinstall backend prod dependencies only (optimise space)
rm -rf redisinsight/api/node_modules
Expand All @@ -13,19 +13,21 @@ npm_config_arch="$ARCH" \
npm_config_target_arch="$ARCH" \
npm_config_platform="$PLATFORM" \
npm_config_target_platform="$PLATFORM" \
npm_config_keytar_binary_host_mirror="$KEYTAR_MIRROR" \
npm_config_node_sqlite3_binary_host_mirror="$SQLITE_MIRROR" \
yarn --cwd ./redisinsight/api install --production

cp redisinsight/api/.yarnclean.prod redisinsight/api/.yarnclean
yarn --cwd ./redisinsight/api autoclean --force

rm -rf redisinsight/build.zip
cd redisinsight && zip -r build.zip \

cp LICENSE ./redisinsight

cd redisinsight && tar -czvf build.tar.gz \
api/node_modules \
api/dist \
ui/dist \
LICENSE \
&& cd ..

mkdir -p release/redisstack
cp redisinsight/build.zip release/redisstack/"$FILENAME"
cp redisinsight/build.tar.gz release/redisstack/"$FILENAME"
20 changes: 20 additions & 0 deletions .circleci/redisstack/dmg.repack.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

ARCH=${ARCH:-x64}
WORKING_DIRECTORY=$(pwd)
TAR_NAME="RedisInsight-V2-app-darwin.$ARCH.tar.gz"
APP_FOLDER_NAME="RedisInsight-V2.app"
TMP_FOLDER="/tmp/$APP_FOLDER_NAME"

rm -rf "$TMP_FOLDER"

mkdir -p "$WORKING_DIRECTORY/release/redisstack"
mkdir -p "$TMP_FOLDER"

hdiutil attach "./release/RedisInsight-V2-mac-$ARCH.dmg"
cp -a /Volumes/RedisInsight-*/RedisInsight-V2.app "/tmp"
cd "/tmp" || exit 1
tar -czvf "$TAR_NAME" "$APP_FOLDER_NAME"
cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/"
cd "$WORKING_DIRECTORY" || exit 1
hdiutil unmount /Volumes/RedisInsight-*/
9 changes: 6 additions & 3 deletions electron-builder.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@
"artifactName": "${productName}-${os}-${arch}.${ext}",
"compression": "normal",
"mac": {
"artifactName": "${productName}-${os}-${arch}.${ext}",
"target": [
{
"target": "dmg",
"arch": ["x64", "arm64"]
},
{
}, {
"target": "zip",
"arch": ["x64", "arm64"]
}
Expand Down Expand Up @@ -93,6 +91,11 @@
"from": "./redisinsight/api/defaults",
"to": "defaults",
"filter": ["**/*"]
},
{
"from": "./resources/app",
"to": "./app",
"filter": ["**/*"]
}
]
}
4 changes: 3 additions & 1 deletion redisinsight/api/config/production.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { join } from 'path';
import * as os from 'os';

const homedir = join(require('os').homedir(), process.env.APP_FOLDER_NAME || '.redisinsight-preview');
const homedir = process.env.APP_FOLDER_ABSOLUTE_PATH
|| (join(os.homedir(), process.env.APP_FOLDER_NAME || '.redisinsight-preview'));

export default {
dir_path: {
Expand Down
4 changes: 3 additions & 1 deletion redisinsight/api/config/staging.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { join } from 'path';
import * as os from 'os';

const homedir = join(require('os').homedir(), process.env.APP_FOLDER_NAME || '.redisinsight-v2.0-stage');
const homedir = process.env.APP_FOLDER_ABSOLUTE_PATH
|| (join(os.homedir(), process.env.APP_FOLDER_NAME || '.redisinsight-v2.0-stage'));

export default {
dir_path: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ export class AutoDiscoveryService implements OnModuleInit {
return;
}

// additional check for existing databases
// We should not start auto discover if any database already exists
if ((await this.databaseProvider.getAll()).length) {
return;
}

const settings = await this.settingsService.getSettings();
// check agreements to understand if it is first launch
if (!settings.agreements) {
Expand Down
2 changes: 1 addition & 1 deletion redisinsight/main.dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ const launchApiServer = async () => {
const detectPortConst = await detectPort(port);
process.env.API_PORT = detectPortConst?.toString();
log.info('Available port:', detectPortConst);
server();
await server();
} catch (error) {
log.error('Catch server error:', error);
}
Expand Down
3 changes: 3 additions & 0 deletions resources/app/redisinsight.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

open /Applications/RedisInsight-preview