Skip to content

Commit 58aafc4

Browse files
Merge pull request #4084 from RedisInsight/try_fix_macos_builds
2 parents 9f40330 + b5e8d34 commit 58aafc4

File tree

8 files changed

+84
-67
lines changed

8 files changed

+84
-67
lines changed

.github/e2e/test.app-image.sh

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,25 @@
11
#!/bin/bash
22
set -e
33

4-
yarn --cwd tests/e2e install
4+
ARCH=${ARCH:-x86_64}
5+
WORKING_DIRECTORY=$(pwd)
6+
SOURCE_APP=${SOURCE_APP:-"Redis-Insight-linux-$ARCH.AppImage"}
7+
RI_APP_FOLDER_NAME="Redis-Insight-linux"
8+
TAR_NAME="Redis-Insight-app-linux.$ARCH.tar.gz"
9+
TMP_FOLDER="/tmp/Redis-Insight-app-$ARCH"
510

6-
# Create the ri-test directory if it doesn't exist
7-
mkdir -p ri-test
11+
rm -rf "$TMP_FOLDER"
812

9-
# Extract the AppImage
10-
chmod +x ./release/*.AppImage
11-
./release/*.AppImage --appimage-extract
13+
mkdir -p "$WORKING_DIRECTORY/release/redisstack"
14+
mkdir -p "$TMP_FOLDER"
1215

13-
# Move contents of squashfs-root to ri-test and remove squashfs-root folder
14-
mv squashfs-root/* ri-test/
15-
rm -rf squashfs-root
16+
cp "./release/$SOURCE_APP" "$TMP_FOLDER"
17+
cd "$TMP_FOLDER" || exit 1
1618

17-
# Export custom XDG_DATA_DIRS with ri-test
18-
export XDG_DATA_DIRS="$(pwd)/ri-test:$XDG_DATA_DIRS"
19+
./"$SOURCE_APP" --appimage-extract
20+
mv squashfs-root "$RI_APP_FOLDER_NAME"
1921

20-
# create folder before tests run to prevent permissions issue
21-
mkdir -p tests/e2e/remote
22-
mkdir -p tests/e2e/rdi
22+
tar -czvf "$TAR_NAME" "$RI_APP_FOLDER_NAME"
2323

24-
# Create a custom .desktop file for RedisInsight
25-
cat > ri-test/redisinsight.desktop <<EOL
26-
[Desktop Entry]
27-
Version=1.0
28-
Name=RedisInsight
29-
Exec=$(pwd)/ri-test/redisinsight %u
30-
Icon=$(pwd)/ri-test/resources/app.asar/img/icon.png
31-
Type=Application
32-
Terminal=false
33-
MimeType=x-scheme-handler/redisinsight;
34-
EOL
35-
36-
# Copy the .desktop file to the local applications directory
37-
cp ri-test/redisinsight.desktop "$HOME/.local/share/applications"
38-
39-
# Update the desktop database with custom directory
40-
update-desktop-database "$(pwd)/ri-test/"
41-
42-
# Register the RedisInsight deeplink protocol
43-
xdg-mime default redisinsight.desktop x-scheme-handler/redisinsight
44-
45-
# Run rte
46-
docker compose -f tests/e2e/rte.docker-compose.yml build
47-
docker compose -f tests/e2e/rte.docker-compose.yml up --force-recreate -d -V
48-
./tests/e2e/wait-for-redis.sh localhost 12000 && \
49-
50-
# Run tests
51-
COMMON_URL=$(pwd)/ri-test/resources/app.asar/dist/renderer/index.html \
52-
ELECTRON_PATH=$(pwd)/ri-test/redisinsight \
53-
RI_SOCKETS_CORS=true \
54-
yarn --cwd tests/e2e dotenv -e .desktop.env yarn --cwd tests/e2e test:desktop:ci
24+
cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/"
25+
cd "$WORKING_DIRECTORY" || exit 1

.github/e2e/test.app-image.sso.sh

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/bin/bash
2+
set -e
3+
4+
yarn --cwd tests/e2e install
5+
6+
# Create the ri-test directory if it doesn't exist
7+
mkdir -p ri-test
8+
9+
# Extract the AppImage
10+
chmod +x ./release/*.AppImage
11+
./release/*.AppImage --appimage-extract
12+
13+
# Move contents of squashfs-root to ri-test and remove squashfs-root folder
14+
mv squashfs-root/* ri-test/
15+
rm -rf squashfs-root
16+
17+
# Export custom XDG_DATA_DIRS with ri-test
18+
export XDG_DATA_DIRS="$(pwd)/ri-test:$XDG_DATA_DIRS"
19+
20+
# create folder before tests run to prevent permissions issue
21+
mkdir -p tests/e2e/remote
22+
mkdir -p tests/e2e/rdi
23+
24+
# Create a custom .desktop file for RedisInsight
25+
cat > ri-test/redisinsight.desktop <<EOL
26+
[Desktop Entry]
27+
Version=1.0
28+
Name=RedisInsight
29+
Exec=$(pwd)/ri-test/redisinsight %u
30+
Icon=$(pwd)/ri-test/resources/app.asar/img/icon.png
31+
Type=Application
32+
Terminal=false
33+
MimeType=x-scheme-handler/redisinsight;
34+
EOL
35+
36+
# Copy the .desktop file to the local applications directory
37+
cp ri-test/redisinsight.desktop "$HOME/.local/share/applications"
38+
39+
# Update the desktop database with custom directory
40+
update-desktop-database "$(pwd)/ri-test/"
41+
42+
# Register the RedisInsight deeplink protocol
43+
xdg-mime default redisinsight.desktop x-scheme-handler/redisinsight
44+
45+
# Run rte
46+
docker compose -f tests/e2e/rte.docker-compose.yml build
47+
docker compose -f tests/e2e/rte.docker-compose.yml up --force-recreate -d -V
48+
./tests/e2e/wait-for-redis.sh localhost 12000 && \
49+
50+
# Run tests
51+
COMMON_URL=$(pwd)/ri-test/resources/app.asar/dist/renderer/index.html \
52+
ELECTRON_PATH=$(pwd)/ri-test/redisinsight \
53+
RI_SOCKETS_CORS=true \
54+
yarn --cwd tests/e2e dotenv -e .desktop.env yarn --cwd tests/e2e test:desktop:ci

.github/workflows/manual-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ on:
4949
environment:
5050
description: Environment to run build
5151
type: environment
52-
default: 'staging'
52+
default: 'development'
5353
required: false
5454

5555
debug:

.github/workflows/pipeline-build-linux.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,12 @@ jobs:
6666
if: (vars.ENV == 'staging' || vars.ENV == 'development') && inputs.target == vars.ALL
6767
run: yarn package:stage
6868

69-
- name: Build linux packages (development)
69+
- name: Build linux packages (custom)
7070
if: inputs.target != vars.ALL
7171
run: |
72-
target=""
73-
if [ ${{ startsWith(inputs.target, 'linux:') }} == 'true' ]; then
74-
inputsTarget=${{inputs.target}}
75-
target=${inputsTarget#linux:}
76-
fi
72+
target=$(echo "${{inputs.target}}" | grep -oE 'build_linux_[^_ ]+' | sed 's/build_linux_//' | sort -u | paste -sd ' ' -)
7773
78-
if [ ${{ contains(vars.ENV, 'production') }} ]; then
74+
if [ "${{ vars.ENV == 'production' }}" == "true" ]; then
7975
yarn package:prod --linux $target
8076
else
8177
yarn package:stage --linux $target

.github/workflows/pipeline-build-macos.yml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,18 +76,13 @@ jobs:
7676
mv release/mas-universal/Redis-Insight-mac-universal-mas.pkg release/Redis-Insight-mac-universal-mas.pkg
7777
7878
# handle manual builds
79-
- name: Build macos dmg (dev)
79+
- name: Build macos dmg (custom)
8080
if: inputs.target != vars.ALL
8181
run: |
8282
unset CSC_LINK
83-
target=""
83+
target=$(echo "${{inputs.target}}" | grep -oE 'build_macos_[^ ]+' | sed 's/build_macos_/dmg:/' | paste -sd ' ' -)
8484
85-
if [ ${{ startsWith(inputs.target, 'macos:') }} == 'true' ]; then
86-
inputsTarget=${{inputs.target}}
87-
target=--${inputsTarget#macos:}
88-
fi
89-
90-
if [ ${{ contains(vars.ENV, 'production') }} ]; then
85+
if [ "${{ vars.ENV == 'production' }}" == "true" ]; then
9186
yarn package:prod --mac $target
9287
else
9388
yarn package:stage --mac $target

.github/workflows/tests-e2e-docker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
fail-fast: false
4646
matrix:
4747
# Number of threads to run tests
48-
parallel: [0, 1, 2]
48+
parallel: [0, 1, 2, 3]
4949

5050
steps:
5151
- uses: actions/checkout@v4
@@ -73,7 +73,7 @@ jobs:
7373
- name: Generate short list of the test files
7474
working-directory: ./tests/e2e
7575
run: |
76-
testFiles=$(find tests/web -type f -name '*.e2e.ts' | sort | awk "NR % 3 == ${{ matrix.parallel }}")
76+
testFiles=$(find tests/web -type f -name '*.e2e.ts' | sort | awk "NR % 4 == ${{ matrix.parallel }}")
7777
echo $testFiles
7878
7979
# Multi-Line value

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"**/trim": "0.0.3",
7979
"word-wrap": "1.2.4",
8080
"**/semver": "^7.5.2",
81+
"@electron/notarize": "2.3.2",
8182
"rawproto/protobufjs": "^7.2.5",
8283
"webpack-bundle-analyzer/ws": "^7.5.10",
8384
"msw/path-to-regexp": "^6.3.0",

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,10 +1190,10 @@
11901190
optionalDependencies:
11911191
global-agent "^3.0.0"
11921192

1193-
"@electron/[email protected]":
1194-
version "2.2.1"
1195-
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.2.1.tgz#d0aa6bc43cba830c41bfd840b85dbe0e273f59fe"
1196-
integrity sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg==
1193+
"@electron/[email protected]", "@electron/[email protected]":
1194+
version "2.3.2"
1195+
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.3.2.tgz#20a52a961747be8542a35003380988a0d3fe15e6"
1196+
integrity sha512-zfayxCe19euNwRycCty1C7lF7snk9YwfRpB5M8GLr1a4ICH63znxaPNAubrMvj0yDvVozqfgsdYpXVUnpWBDpg==
11971197
dependencies:
11981198
debug "^4.1.1"
11991199
fs-extra "^9.0.1"

0 commit comments

Comments
 (0)