@@ -302,7 +302,7 @@ jobs:
302
302
name : .AppImage tests
303
303
command : |
304
304
cd tests/e2e && export TEST_FILES=$(circleci tests glob "tests/**/*.e2e.ts" | circleci tests split) && cd ../..
305
- .circleci/scripts/ e2e/app-image.e2e .sh
305
+ .circleci/e2e/test. app-image.sh
306
306
- when :
307
307
condition :
308
308
equal : [ true, << parameters.report >> ]
@@ -315,6 +315,42 @@ jobs:
315
315
curl -H "Content-type: application/json" --data @e2e.report.json -H "Authorization: Bearer $SLACK_TEST_REPORT_KEY" -X POST https://slack.com/api/chat.postMessage
316
316
- store_test_results :
317
317
path : ./tests/e2e/results
318
+ e2e-exe :
319
+ executor :
320
+ name : win/default
321
+ parameters :
322
+ report :
323
+ description : Send report for test run to slack
324
+ type : boolean
325
+ default : false
326
+ parallelism :
327
+ description : Number of threads to run tests
328
+ type : integer
329
+ default : 1
330
+ parallelism : << parameters.parallelism >>
331
+ steps :
332
+ - checkout
333
+ - attach_workspace :
334
+ at : .
335
+ - run : choco install nodejs --version=15.14.0
336
+ - run :
337
+ command : |
338
+ cd tests/e2e && export TEST_FILES=$(circleci tests glob "tests/**/*.e2e.ts" | circleci tests split) && cd ../..
339
+ .circleci/e2e/test.exe.cmd
340
+ shell : bash.exe
341
+ - when :
342
+ condition :
343
+ equal : [ true, << parameters.report >> ]
344
+ steps :
345
+ - run :
346
+ name : Send report
347
+ when : always
348
+ command : |
349
+ APP_BUILD_TYPE="Electron (Windows)" node ./.circleci/e2e-results.js
350
+ curl -H "Content-type: application/json" --data @e2e.report.json -H "Authorization: Bearer $SLACK_TEST_REPORT_KEY" -X POST https://slack.com/api/chat.postMessage
351
+ shell : bash.exe
352
+ - store_test_results :
353
+ path : ./tests/e2e/results
318
354
319
355
e2e-tests :
320
356
executor : linux-executor
@@ -756,41 +792,50 @@ jobs:
756
792
aws s3 mv s3://${AWS_BUCKET_NAME}/private/${applicationVersion}/ \
757
793
s3://${AWS_BUCKET_NAME}/${upgradeLatestFolderPath} --recursive
758
794
795
+ # invalidate cloudfront cash
796
+ aws cloudfront create-invalidation --distribution-id ${AWS_DISTRIBUTION_ID} --paths "/*"
797
+
759
798
- run :
760
799
name : Add tags for all objects and create S3 metrics
761
800
command : |
762
801
763
802
# declare all tags
764
803
declare -A tag0=(
765
- [key ]='platform '
766
- [value ]='macos'
804
+ [arch ]='x64 '
805
+ [platform ]='macos'
767
806
[objectDownload]=${applicationName}'-mac-x64.dmg'
768
807
[objectUpgrade]=${applicationName}'-mac-x64.zip'
769
808
)
770
809
771
810
declare -A tag1=(
772
- [key ]='platform '
773
- [value ]='macos'
811
+ [arch ]='arm64 '
812
+ [platform ]='macos'
774
813
[objectDownload]=${applicationName}'-mac-arm64.dmg'
775
814
[objectUpgrade]=${applicationName}'-mac-arm64.zip'
776
815
)
777
816
778
817
declare -A tag2=(
779
- [key ]='platform '
780
- [value ]='windows'
818
+ [arch ]='x64 '
819
+ [platform ]='windows'
781
820
[objectDownload]=${applicationName}'-win-installer.exe'
782
821
)
783
822
784
823
declare -A tag3=(
785
- [key ]='platform '
786
- [value ]='linux_AppImage'
787
- [objectDownload]=${applicationName}'-x86_64.AppImage'
824
+ [arch ]='x64 '
825
+ [platform ]='linux_AppImage'
826
+ [objectDownload]=${applicationName}'-linux- x86_64.AppImage'
788
827
)
789
828
790
829
declare -A tag4=(
791
- [key]='platform'
792
- [value]='linux_deb'
793
- [objectDownload]=${applicationName}'-amd64.deb'
830
+ [arch]='x64'
831
+ [platform]='linux_deb'
832
+ [objectDownload]=${applicationName}'-linux-amd64.deb'
833
+ )
834
+
835
+ declare -A tag5=(
836
+ [arch]='x64'
837
+ [platform]='linux_rpm'
838
+ [objectDownload]=${applicationName}'-linux-x86_64.rpm'
794
839
)
795
840
796
841
# loop for add all tags to each app and create metrics
@@ -800,32 +845,32 @@ jobs:
800
845
designation0="downloads"
801
846
designation1="upgrades"
802
847
803
- id0="${tag[value ]}_${designation0}_${applicationVersion}"
804
- id1="${tag[value ]}_${designation1}_${applicationVersion}"
848
+ id0="${tag[platform]}_${tag[arch ]}_${designation0}_${applicationVersion}"
849
+ id1="${tag[platform]}_${tag[arch ]}_${designation1}_${applicationVersion}"
805
850
806
851
# add tags to each app for download
807
852
aws s3api put-object-tagging \
808
853
--bucket ${AWS_BUCKET_NAME} \
809
854
--key ${downloadLatestFolderPath}/${tag[objectDownload]} \
810
- --tagging '{"TagSet": [{ "Key": "version", "Value": "'"${applicationVersion}"'" }, {"Key": "'"${tag[key ]}"'", " Value": "'"${tag[value ]}"'"}, { "Key": "designation", "Value": "'"${designation0}"'" }]}'
855
+ --tagging '{"TagSet": [{ "Key": "version", "Value": "'"${applicationVersion}"'" }, {"Key": "platform", "Value": " '"${tag[platform ]}"'"}, {"Key": "arch", " Value": "'"${tag[arch ]}"'"}, { "Key": "designation", "Value": "'"${designation0}"'" }]}'
811
856
812
857
# add tags to each app for upgrades
813
858
aws s3api put-object-tagging \
814
859
--bucket ${AWS_BUCKET_NAME} \
815
860
--key ${upgradeLatestFolderPath}/${tag[objectUpgrade]:=${tag[objectDownload]}} \
816
- --tagging '{"TagSet": [{ "Key": "version", "Value": "'"${applicationVersion}"'" }, {"Key": "'"${tag[key ]}"'", " Value": "'"${tag[value ]}"'"}, { "Key": "designation", "Value": "'"${designation1}"'" }]}'
861
+ --tagging '{"TagSet": [{ "Key": "version", "Value": "'"${applicationVersion}"'" }, {"Key": "platform", "Value": " '"${tag[platform ]}"'"}, {"Key": "arch", " Value": "'"${tag[arch ]}"'"}, { "Key": "designation", "Value": "'"${designation1}"'" }]}'
817
862
818
863
# Create metrics for all tags for downloads to S3
819
864
aws s3api put-bucket-metrics-configuration \
820
865
--bucket ${AWS_BUCKET_NAME} \
821
866
--id ${id0} \
822
- --metrics-configuration '{"Id": "'"${id0}"'", "Filter": {"And": {"Tags": [{"Key": "'"${tag[key ]}"'", " Value": "'"${tag[value ]}"'"}, {"Key": "designation", "Value": "'"${designation0}"'"}, {"Key": "version", "Value": "'"${applicationVersion}"'"} ]}}}'
867
+ --metrics-configuration '{"Id": "'"${id0}"'", "Filter": {"And": {"Tags": [{"Key": "platform", "Value": " '"${tag[platform ]}"'"}, {"Key": "arch", " Value": "'"${tag[arch ]}"'"}, {"Key": "designation", "Value": "'"${designation0}"'"}, {"Key": "version", "Value": "'"${applicationVersion}"'"} ]}}}'
823
868
824
869
# Create metrics for all tags for upgrades to S3
825
870
aws s3api put-bucket-metrics-configuration \
826
871
--bucket ${AWS_BUCKET_NAME} \
827
872
--id ${id1} \
828
- --metrics-configuration '{"Id": "'"${id1}"'", "Filter": {"And": {"Tags": [{"Key": "'"${tag[key ]}"'", " Value": "'"${tag[value ]}"'"}, {"Key": "designation", "Value": "'"${designation1}"'"}, {"Key": "version", "Value": "'"${applicationVersion}"'"}]}}}'
873
+ --metrics-configuration '{"Id": "'"${id1}"'", "Filter": {"And": {"Tags": [{"Key": "platform", "Value": " '"${tag[platform ]}"'"}, {"Key": "arch", " Value": "'"${tag[arch ]}"'"}, {"Key": "designation", "Value": "'"${designation1}"'"}, {"Key": "version", "Value": "'"${applicationVersion}"'"}]}}}'
829
874
830
875
done
831
876
@@ -1064,7 +1109,6 @@ workflows:
1064
1109
branches :
1065
1110
only :
1066
1111
- main
1067
- - latest
1068
1112
jobs :
1069
1113
# build docker image
1070
1114
- docker :
@@ -1080,6 +1124,10 @@ workflows:
1080
1124
name : Build app - Linux (stage)
1081
1125
requires :
1082
1126
- Setup build (stage)
1127
+ - windows :
1128
+ name : Build app - Windows (stage)
1129
+ requires :
1130
+ - Setup build (stage)
1083
1131
# integration tests on docker image build
1084
1132
- integration-tests-run :
1085
1133
matrix :
@@ -1106,3 +1154,10 @@ workflows:
1106
1154
report : true
1107
1155
requires :
1108
1156
- Build app - Linux (stage)
1157
+ # e2e desktop tests on exe build
1158
+ - e2e-exe :
1159
+ name : E2ETest (exe) - Nightly
1160
+ parallelism : 4
1161
+ report : true
1162
+ requires :
1163
+ - Build app - Windows (stage)
0 commit comments