Skip to content

Commit 4fd3b0a

Browse files
authored
Merge pull request #2153 from RedisInsight/release/2.26.0
Release/2.26.0
2 parents c779dad + b54bfaa commit 4fd3b0a

File tree

600 files changed

+26642
-13783
lines changed

Some content is hidden

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

600 files changed

+26642
-13783
lines changed

.circleci/config.yml

Lines changed: 142 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,29 @@ aliases:
2828
$filePathWithQuotes = '"{0}"' -f $filePath
2929
& "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" sign /a /sm /n "Redis Labs Inc." /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v $FilePathWithQuotes
3030
shell: powershell.exe
31-
scan: &scan
31+
fileScan: &fileScan
3232
run:
33-
name: Virustotal scan
34-
command: &virusscan |
33+
name: Virustotal file scan
34+
command: &virusfilescan |
3535
uploadUrl=$(curl -sq -XGET https://www.virustotal.com/api/v3/files/upload_url -H "x-apikey: $VIRUSTOTAL_API_KEY" | jq -r '.data')
3636
uploadFile=$("/usr/bin/find" /tmp/release -name ${FILE_NAME})
3737
echo "File to upload: ${uploadFile}"
3838
analysedId=$(curl -sq -XPOST "${uploadUrl}" -H "x-apikey: $VIRUSTOTAL_API_KEY" --form file=@"${uploadFile}" | jq -r '.data.id')
39+
if [ $analysedId == "null" ]; then
40+
echo 'Status is null, something went wrong'; exit 1;
41+
fi
42+
echo "export ANALYZED_ID=${analysedId}" >> $BASH_ENV
43+
echo "Virustotal Analyzed id: ${analysedId}"
44+
sleep 10
45+
shell: /bin/bash
46+
urlScan: &urlScan
47+
run:
48+
name: Virustotal url scan
49+
command: &virusurlscan |
50+
echo "Url to check: ${URL}"
51+
52+
analysedId=$(curl -sq -XPOST https://www.virustotal.com/api/v3/urls -H "x-apikey: $VIRUSTOTAL_API_KEY" --form url=${URL} | jq -r '.data.id')
53+
3954
if [ $analysedId == "null" ]; then
4055
echo 'Status is null, something went wrong'; exit 1;
4156
fi
@@ -76,13 +91,32 @@ aliases:
7691
echo "Results:"
7792
echo "analazedHarmless: ${analazedHarmless}, analazedMalicious: ${analazedMalicious}, analazedSuspicious: ${analazedSuspicious}"
7893

79-
if [ "$analazedHarmless" != "0" ] || [ "$analazedMalicious" != "0" ] || [ "$analazedSuspicious" != "0" ]; then
80-
echo 'Found dangers'; exit 1;
94+
if [ "$analazedMalicious" != "0" ] || [ "$analazedSuspicious" != "0" ]; then
95+
echo "export VIRUS_CHECK_FAILED=true" >> $BASH_ENV
96+
echo 'Found dangers'; exit 0;
8197
fi
8298

99+
echo "export VIRUS_CHECK_FAILED=false" >> $BASH_ENV
100+
echo "export SKIP_VIRUSTOTAL_REPORT=true" >> $BASH_ENV
83101
echo 'Passed';
84102
shell: /bin/bash
85103
no_output_timeout: 15m
104+
virustotalReport: &virustotalReport
105+
run:
106+
name: Virustotal slack report
107+
command: &virusreport |
108+
if [ "$SKIP_VIRUSTOTAL_REPORT" == "true" ]; then
109+
exit 0;
110+
fi
111+
112+
FILE_NAME=virustotal.report.json
113+
BUILD_NAME=$BUILD_NAME FILE_NAME=$FILE_NAME VIRUS_CHECK_FAILED=$VIRUS_CHECK_FAILED node .circleci/virustotal-report.js &&
114+
curl -H "Content-type: application/json" --data @$FILE_NAME -H "Authorization: Bearer ${SLACK_TEST_REPORT_KEY}" -X POST https://slack.com/api/chat.postMessage
115+
116+
if [ "$VIRUS_CHECK_FAILED" == "true" ]; then
117+
echo 'Found dangers'; exit 1;
118+
fi
119+
shell: /bin/bash
86120
iTestsNames: &iTestsNames
87121
- oss-st-5 # OSS Standalone v5
88122
- oss-st-5-pass # OSS Standalone v5 with admin pass required
@@ -601,17 +635,20 @@ jobs:
601635
yarn package:prod
602636
yarn package:mas
603637
rm -rf release/mac
638+
mv release/mas-universal/RedisInsight-mac-universal-mas.pkg release/RedisInsight-mac-universal-mas.pkg
604639
exit 0;
605640
fi
606641
607642
if [ << parameters.env >> == 'stage' ]; then
608643
UPGRADES_LINK=$UPGRADES_LINK_STAGE SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE yarn package:stage && yarn package:mas
609644
rm -rf release/mac
645+
mv release/mas-universal/RedisInsight-mac-universal-mas.pkg release/RedisInsight-mac-universal-mas.pkg
610646
exit 0;
611647
fi
612648
613649
UPGRADES_LINK='' SEGMENT_WRITE_KEY='' yarn package:stage && yarn package:mas
614650
rm -rf release/mac
651+
mv release/mas-universal/RedisInsight-mac-universal-mas.pkg release/RedisInsight-mac-universal-mas.pkg
615652
no_output_timeout: 60m
616653

617654
- run:
@@ -625,7 +662,7 @@ jobs:
625662
- release/RedisInsight*.zip
626663
- release/RedisInsight*.dmg
627664
- release/RedisInsight*.dmg.blockmap
628-
- release/**/*.pkg
665+
- release/RedisInsight*.pkg
629666
- release/*-mac.yml
630667
- release/redisstack
631668
windows:
@@ -674,7 +711,7 @@ jobs:
674711
- release/RedisInsight*.exe
675712
- release/RedisInsight*.exe.blockmap
676713
- release/*.yml
677-
virustotal:
714+
virustotal-file:
678715
executor: linux-executor
679716
parameters:
680717
ext:
@@ -688,8 +725,35 @@ jobs:
688725
name: export FILE_NAME environment variable
689726
command: |
690727
echo 'export FILE_NAME="RedisInsight*<< parameters.ext >>"' >> $BASH_ENV
691-
- <<: *scan
728+
- <<: *fileScan
692729
- <<: *validate
730+
virustotal-url:
731+
executor: linux-executor
732+
parameters:
733+
fileName:
734+
description: File name
735+
type: string
736+
steps:
737+
- checkout
738+
- run:
739+
name: export URL environment variable
740+
command: |
741+
echo 'export URL="https://download.redisinsight.redis.com/latest/<< parameters.fileName >>"' >> $BASH_ENV
742+
echo 'export BUILD_NAME="<< parameters.fileName >>"' >> $BASH_ENV
743+
- <<: *urlScan
744+
- <<: *validate
745+
- <<: *virustotalReport
746+
747+
virustotal-report:
748+
executor: linux-executor
749+
steps:
750+
- checkout
751+
- run:
752+
name: Send virustotal passed report
753+
command: |
754+
echo 'export VIRUS_CHECK_FAILED=0' >> $BASH_ENV
755+
echo 'export SKIP_VIRUSTOTAL_REPORT=false' >> $BASH_ENV
756+
- <<: *virustotalReport
693757
docker:
694758
executor: linux-executor
695759
parameters:
@@ -1159,27 +1223,42 @@ workflows:
11591223
env: prod
11601224
requires: *prodElectronBuildRequires
11611225
# virus check all electron apps (prod)
1162-
- virustotal:
1226+
- virustotal-file:
11631227
name: Virus check - AppImage (prod)
11641228
ext: .AppImage
11651229
requires:
11661230
- Build app - Linux (prod)
1167-
- virustotal:
1231+
- virustotal-file:
11681232
name: Virus check - deb (prod)
11691233
ext: .deb
11701234
requires:
11711235
- Build app - Linux (prod)
1172-
- virustotal:
1236+
- virustotal-file:
1237+
name: Virus check - rpm (prod)
1238+
ext: .rpm
1239+
requires:
1240+
- Build app - Linux (prod)
1241+
- virustotal-file:
1242+
name: Virus check - snap (prod)
1243+
ext: .snap
1244+
requires:
1245+
- Build app - Linux (prod)
1246+
- virustotal-file:
11731247
name: Virus check x64 - dmg (prod)
11741248
ext: -x64.dmg
11751249
requires:
11761250
- Build app - MacOS (prod)
1177-
- virustotal:
1251+
- virustotal-file:
11781252
name: Virus check arm64 - dmg (prod)
11791253
ext: -arm64.dmg
11801254
requires:
11811255
- Build app - MacOS (prod)
1182-
- virustotal:
1256+
- virustotal-file:
1257+
name: Virus check MAS - pkg (prod)
1258+
ext: -mas.pkg
1259+
requires:
1260+
- Build app - MacOS (prod)
1261+
- virustotal-file:
11831262
name: Virus check - exe (prod)
11841263
ext: .exe
11851264
requires:
@@ -1190,8 +1269,11 @@ workflows:
11901269
requires:
11911270
- Virus check - AppImage (prod)
11921271
- Virus check - deb (prod)
1272+
- Virus check - rpm (prod)
1273+
- Virus check - snap (prod)
11931274
- Virus check x64 - dmg (prod)
11941275
- Virus check arm64 - dmg (prod)
1276+
- Virus check MAS - pkg (prod)
11951277
- Virus check - exe (prod)
11961278
# Manual approve for publish release
11971279
- approve-publish:
@@ -1230,10 +1312,10 @@ workflows:
12301312
name: Build app - Linux (stage)
12311313
requires:
12321314
- Setup build (stage)
1233-
# - windows:
1234-
# name: Build app - Windows (stage)
1235-
# requires:
1236-
# - Setup build (stage)
1315+
# - windows:
1316+
# name: Build app - Windows (stage)
1317+
# requires:
1318+
# - Setup build (stage)
12371319
# integration tests on docker image build
12381320
- integration-tests-run:
12391321
matrix:
@@ -1254,12 +1336,49 @@ workflows:
12541336
requires:
12551337
- Build docker image
12561338
# e2e desktop tests on AppImage build
1257-
# - e2e-app-image:
1258-
# name: E2ETest (AppImage) - Nightly
1259-
# parallelism: 4
1260-
# report: true
1261-
# requires:
1262-
# - Build app - Linux (stage)
1339+
- e2e-app-image:
1340+
name: E2ETest (AppImage) - Nightly
1341+
parallelism: 2
1342+
report: true
1343+
requires:
1344+
- Build app - Linux (stage)
1345+
1346+
- virustotal-url:
1347+
name: Virus check - AppImage (nightly)
1348+
fileName: RedisInsight-v2-linux-x86_64.AppImage
1349+
- virustotal-url:
1350+
name: Virus check - deb (nightly)
1351+
fileName: RedisInsight-v2-linux-amd64.deb
1352+
- virustotal-url:
1353+
name: Virus check - rpm (nightly)
1354+
fileName: RedisInsight-v2-linux-x86_64.rpm
1355+
- virustotal-url:
1356+
name: Virus check - snap (nightly)
1357+
fileName: RedisInsight-v2-linux-amd64.snap
1358+
- virustotal-url:
1359+
name: Virus check x64 - dmg (nightly)
1360+
fileName: RedisInsight-v2-mac-x64.dmg
1361+
- virustotal-url:
1362+
name: Virus check arm64 - dmg (nightly)
1363+
fileName: RedisInsight-v2-mac-arm64.dmg
1364+
- virustotal-url:
1365+
name: Virus check MAS - pkg (nightly)
1366+
fileName: RedisInsight-mac-universal-mas.pkg
1367+
- virustotal-url:
1368+
name: Virus check - exe (nightly)
1369+
fileName: RedisInsight-v2-win-installer.exe
1370+
- virustotal-report:
1371+
name: Virus check report (prod)
1372+
requires:
1373+
- Virus check - AppImage (nightly)
1374+
- Virus check - deb (nightly)
1375+
- Virus check - rpm (nightly)
1376+
- Virus check - snap (nightly)
1377+
- Virus check x64 - dmg (nightly)
1378+
- Virus check arm64 - dmg (nightly)
1379+
- Virus check MAS - pkg (nightly)
1380+
- Virus check - exe (nightly)
1381+
12631382
# # e2e desktop tests on exe build
12641383
# - e2e-exe:
12651384
# name: E2ETest (exe) - Nightly

.circleci/virustotal-report.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const fs = require('fs');
2+
3+
const fileName = process.env.FILE_NAME;
4+
const buildName = process.env.BUILD_NAME;
5+
const failed = process.env.VIRUS_CHECK_FAILED === 'true';
6+
7+
const results = {
8+
message: {
9+
text: `*Virustotal checks* (Branch: *${process.env.CIRCLE_BRANCH}*)` +
10+
`\n<https://app.circleci.com/pipelines/workflows/${process.env.CIRCLE_WORKFLOW_ID}|View on CircleCI>`,
11+
attachments: [],
12+
},
13+
};
14+
15+
const result = {
16+
color: '#36a64f',
17+
title: `Finished at: ${new Date().toISOString()}`,
18+
text: `All builds were passed via virustotal checks`,
19+
fields: [],
20+
};
21+
22+
if (failed) {
23+
results.passed = false;
24+
result.color = '#cc0000';
25+
result.text = 'Build had failed virustotal checks';
26+
result.fields.push({
27+
title: 'Failed build',
28+
value: buildName,
29+
short: true,
30+
});
31+
}
32+
33+
results.message.attachments.push(result);
34+
35+
if (failed === true) {
36+
results.message.text = '<!here> ' + results.message.text;
37+
}
38+
39+
fs.writeFileSync(fileName, JSON.stringify({
40+
channel: process.env.SLACK_VIRUSTOTAL_REPORT_CHANNEL,
41+
...results.message,
42+
}));

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# Add reviewers for the most sensitive folders
22
33
4+
/redisinsight/api/config/features-config.json [email protected] [email protected] [email protected]

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ vendor
5959

6060
# E2E tests report
6161
/tests/e2e/report
62+
/tests/e2e/results
63+
/tests/e2e/remote
6264
/tests/e2e/.redisinsight-v2
6365

6466
# Parcel
File renamed without changes.

configs/webpack.config.web.dev.babel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ export default merge(commonConfig, {
174174

175175
devServer: {
176176
host: HOST,
177-
disableHostCheck: true,
177+
allowedHosts: 'all',
178178
port: 8080,
179179
hot: true, // enable HMR on the server
180180
historyApiFallback: true,

electron-builder.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"type": "distribution",
3434
"hardenedRuntime": true,
3535
"darkModeSupport": true,
36-
"bundleVersion": "9",
36+
"bundleVersion": "11",
3737
"icon": "resources/icon.icns",
3838
"artifactName": "${productName}-${os}-${arch}.${ext}",
3939
"entitlements": "resources/entitlements.mac.plist",

package.json

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@
7777
],
7878
"homepage": "https://github.com/RedisInsight/RedisInsight#readme",
7979
"resolutions": {
80-
"**/node-sass": "^6.0.1"
80+
"**/node-sass": "^6.0.1",
81+
"**/trim": "0.0.3"
8182
},
8283
"devDependencies": {
8384
"@babel/core": "^7.12.9",
@@ -103,10 +104,7 @@
103104
"@babel/preset-react": "^7.12.7",
104105
"@babel/preset-typescript": "^7.12.7",
105106
"@babel/register": "^7.12.1",
106-
"@nestjs/cli": "^7.0.0",
107-
"@nestjs/schematics": "^7.0.0",
108-
"@nestjs/testing": "^7.0.0",
109-
"@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
107+
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
110108
"@svgr/webpack": "^6.2.1",
111109
"@teamsupercell/typings-for-css-modules-loader": "^2.4.0",
112110
"@testing-library/jest-dom": "^5.16.4",
@@ -153,7 +151,7 @@
153151
"core-js": "^3.6.5",
154152
"cross-env": "^7.0.2",
155153
"css-loader": "^5.0.1",
156-
"css-minimizer-webpack-plugin": "^1.2.0",
154+
"css-minimizer-webpack-plugin": "^2.0.0",
157155
"electron": "19.0.7",
158156
"electron-builder": "^23.6.0",
159157
"electron-builder-notarize": "^1.5.1",
@@ -211,7 +209,7 @@
211209
"webpack": "^5.5.1",
212210
"webpack-bundle-analyzer": "^4.1.0",
213211
"webpack-cli": "^4.3.0",
214-
"webpack-dev-server": "^3.11.0",
212+
"webpack-dev-server": "^4.13.3",
215213
"webpack-merge": "^5.4.0",
216214
"whatwg-fetch": "^3.6.2",
217215
"yarn-deduplicate": "^3.1.0"

redisinsight/about-panel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const ICON_PATH = app.isPackaged
88
export default {
99
applicationName: 'RedisInsight-v2',
1010
applicationVersion:
11-
`${app.getVersion() || '2.24.0'}${process.env.NODE_ENV !== 'production' ? `-dev-${process.getCreationTime()}` : ''}`,
11+
`${app.getVersion() || '2.26.0'}${process.env.NODE_ENV !== 'production' ? `-dev-${process.getCreationTime()}` : ''}`,
1212
copyright: `Copyright © ${new Date().getFullYear()} Redis Ltd.`,
1313
iconPath: ICON_PATH,
1414
};

0 commit comments

Comments
 (0)