@@ -3,13 +3,13 @@ version: 2.1
3
3
executors :
4
4
node-browsers-small :
5
5
docker :
6
- - image : cimg/node:22.15 -browsers
6
+ - image : cimg/node:22.14 -browsers
7
7
resource_class : small
8
8
environment :
9
9
NODE_OPTIONS : --max_old_space_size=2048
10
10
node-browsers-medium :
11
11
docker :
12
- - image : cimg/node:22.15 -browsers
12
+ - image : cimg/node:22.14 -browsers
13
13
resource_class : medium
14
14
environment :
15
15
NODE_OPTIONS : --max_old_space_size=3072
@@ -21,13 +21,33 @@ executors:
21
21
NODE_OPTIONS : --max_old_space_size=6144
22
22
node-browsers-medium-plus :
23
23
docker :
24
- - image : cimg/node:22.15 -browsers
24
+ - image : cimg/node:22.14 -browsers
25
25
resource_class : medium+
26
26
environment :
27
27
NODE_OPTIONS : --max_old_space_size=4096
28
+ playwright :
29
+ docker :
30
+ - image : mcr.microsoft.com/playwright:v1.44.1-focal
31
+ resource_class : medium
28
32
29
33
orbs :
30
34
35
+ codecov :
codecov/[email protected]
36
+
37
+
38
+ rc_branch_only : &rc_branch_only
39
+ filters :
40
+ branches :
41
+ only :
42
+ - /^Version-v(\d+)[.](\d+)[.](\d+)/
43
+
44
+ main_master_rc_only : &main_master_rc_only
45
+ filters :
46
+ branches :
47
+ only :
48
+ - main
49
+ - master
50
+ - /^Version-v(\d+)[.](\d+)[.](\d+)/
31
51
32
52
aliases :
33
53
# Shallow Git Clone
@@ -101,6 +121,9 @@ workflows:
101
121
- prep-build-test-mv2 :
102
122
requires :
103
123
- prep-deps
124
+ - prep-build-test-webpack :
125
+ requires :
126
+ - prep-deps
104
127
- prep-build-test-flask :
105
128
requires :
106
129
- prep-deps
@@ -110,6 +133,24 @@ workflows:
110
133
- prep-build-ts-migration-dashboard :
111
134
requires :
112
135
- prep-deps
136
+ - test-e2e-chrome-webpack :
137
+ << : *main_master_rc_only
138
+ requires :
139
+ - prep-build-test-webpack
140
+ - get-changed-files-with-git-diff
141
+ - test-e2e-chrome :
142
+ requires :
143
+ - prep-build-test
144
+ - get-changed-files-with-git-diff
145
+ - test-e2e-firefox :
146
+ << : *main_master_rc_only
147
+ requires :
148
+ - prep-build-test-mv2
149
+ - get-changed-files-with-git-diff
150
+ - test-e2e-chrome-rpc :
151
+ requires :
152
+ - prep-build-test
153
+ - get-changed-files-with-git-diff
113
154
- test-api-specs :
114
155
requires :
115
156
- prep-build-test
@@ -118,6 +159,29 @@ workflows:
118
159
requires :
119
160
- prep-build-test-flask
120
161
- get-changed-files-with-git-diff
162
+ - test-e2e-chrome-multiple-providers :
163
+ requires :
164
+ - prep-build-test
165
+ - get-changed-files-with-git-diff
166
+ - test-e2e-chrome-flask :
167
+ requires :
168
+ - prep-build-test-flask
169
+ - get-changed-files-with-git-diff
170
+ - test-e2e-firefox-flask :
171
+ << : *main_master_rc_only
172
+ requires :
173
+ - prep-build-test-flask-mv2
174
+ - test-e2e-swap-playwright - OPTIONAL :
175
+ requires :
176
+ - prep-build
177
+ - test-e2e-chrome-vault-decryption :
178
+ filters :
179
+ branches :
180
+ only :
181
+ - main
182
+ - /^Version-v(\d+)[.](\d+)[.](\d+)/
183
+ requires :
184
+ - prep-build
121
185
- validate-source-maps :
122
186
requires :
123
187
- prep-build
@@ -144,6 +208,13 @@ workflows:
144
208
- validate-source-maps-flask
145
209
- test-mozilla-lint-mv2
146
210
- test-mozilla-lint-flask-mv2
211
+ - test-e2e-chrome
212
+ - test-e2e-chrome-multiple-providers
213
+ - test-e2e-firefox
214
+ - test-e2e-chrome-flask
215
+ - test-e2e-firefox-flask
216
+ - test-e2e-chrome-vault-decryption
217
+ - test-e2e-chrome-webpack
147
218
- job-publish-prerelease :
148
219
requires :
149
220
- prep-deps
@@ -504,6 +575,26 @@ jobs:
504
575
- dist-test-mv2
505
576
- builds-test-mv2
506
577
578
+ prep-build-test-webpack :
579
+ executor : node-linux-medium
580
+ steps :
581
+ - run : *shallow-git-clone-and-enable-vnc
582
+ - attach_workspace :
583
+ at : .
584
+ - run :
585
+ name : Activate yarn
586
+ command : corepack enable
587
+ - run :
588
+ name : Build extension for testing
589
+ command : yarn build:test:webpack
590
+ - run :
591
+ name : Move test build to 'dist-test-webpack' to avoid conflict with production build
592
+ command : mv ./dist ./dist-test-webpack
593
+ - persist_to_workspace :
594
+ root : .
595
+ paths :
596
+ - dist-test-webpack
597
+
507
598
prep-build-ts-migration-dashboard :
508
599
executor : node-browsers-small
509
600
steps :
@@ -530,6 +621,27 @@ jobs:
530
621
name : Rerun workflows from failed
531
622
command : yarn ci-rerun-from-failed
532
623
624
+ test-e2e-chrome-webpack :
625
+ executor : node-browsers-medium-plus
626
+ parallelism : 20
627
+ steps :
628
+ - run : *shallow-git-clone-and-enable-vnc
629
+ - run : sudo corepack enable
630
+ - attach_workspace :
631
+ at : .
632
+ - run :
633
+ name : Move test build to dist
634
+ command : mv ./dist-test-webpack ./dist
635
+ - run :
636
+ name : test:e2e:chrome:webpack
637
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:chrome:webpack
638
+ no_output_timeout : 5m
639
+ - store_artifacts :
640
+ path : test-artifacts
641
+ destination : test-artifacts
642
+ - store_test_results :
643
+ path : test/test-results/e2e
644
+
533
645
test-api-specs-multichain :
534
646
executor : node-browsers-medium-plus
535
647
steps :
@@ -592,6 +704,198 @@ jobs:
592
704
path : html-report
593
705
destination : html-report
594
706
707
+ test-e2e-chrome :
708
+ executor : node-browsers-medium-plus
709
+ parallelism : 20
710
+ steps :
711
+ - run : *shallow-git-clone-and-enable-vnc
712
+ - run : sudo corepack enable
713
+ - attach_workspace :
714
+ at : .
715
+ - run :
716
+ name : Move test build to dist
717
+ command : mv ./dist-test ./dist
718
+ - run :
719
+ name : Move test zips to builds
720
+ command : mv ./builds-test ./builds
721
+ - run :
722
+ name : test:e2e:chrome
723
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:chrome
724
+ no_output_timeout : 5m
725
+ - store_artifacts :
726
+ path : test-artifacts
727
+ destination : test-artifacts
728
+ - store_test_results :
729
+ path : test/test-results/e2e
730
+
731
+ test-e2e-chrome-rpc :
732
+ executor : node-browsers-medium
733
+ parallelism : 1
734
+ steps :
735
+ - run : *shallow-git-clone-and-enable-vnc
736
+ - run : sudo corepack enable
737
+ - attach_workspace :
738
+ at : .
739
+ - run :
740
+ name : Move test build to dist
741
+ command : mv ./dist-test ./dist
742
+ - run :
743
+ name : Move test zips to builds
744
+ command : mv ./builds-test ./builds
745
+ - run :
746
+ name : test:e2e:chrome:rpc
747
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:chrome:rpc
748
+ no_output_timeout : 5m
749
+ - store_artifacts :
750
+ path : test-artifacts
751
+ destination : test-artifacts
752
+ - store_test_results :
753
+ path : test/test-results/e2e
754
+
755
+ test-e2e-chrome-multiple-providers :
756
+ executor : node-browsers-small
757
+ parallelism : 1
758
+ steps :
759
+ - run : *shallow-git-clone-and-enable-vnc
760
+ - run : sudo corepack enable
761
+ - attach_workspace :
762
+ at : .
763
+ - run :
764
+ name : Move test build to dist
765
+ command : mv ./dist-test ./dist
766
+ - run :
767
+ name : Move test zips to builds
768
+ command : mv ./builds-test ./builds
769
+ - run :
770
+ name : test:e2e:chrome:multi-provider
771
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:chrome:multi-provider
772
+ no_output_timeout : 5m
773
+ - store_artifacts :
774
+ path : test-artifacts
775
+ destination : test-artifacts
776
+ - store_test_results :
777
+ path : test/test-results/e2e
778
+
779
+ test-e2e-chrome-vault-decryption :
780
+ executor : node-browsers-medium-plus
781
+ steps :
782
+ - run : *shallow-git-clone-and-enable-vnc
783
+ - run : sudo corepack enable
784
+ - attach_workspace :
785
+ at : .
786
+ - run :
787
+ name : test:e2e:single
788
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:single test/e2e/vault-decryption-chrome.spec.ts --browser chrome
789
+ no_output_timeout : 5m
790
+ - store_artifacts :
791
+ path : test-artifacts
792
+ destination : test-artifacts
793
+ - store_test_results :
794
+ path : test/test-results/e2e
795
+
796
+ test-e2e-firefox-flask :
797
+ executor : node-browsers-medium-plus
798
+ parallelism : 10
799
+ steps :
800
+ - run : *shallow-git-clone-and-enable-vnc
801
+ - run : sudo corepack enable
802
+ - attach_workspace :
803
+ at : .
804
+ - run :
805
+ name : Move test build to dist
806
+ command : mv ./dist-test-flask-mv2 ./dist
807
+ - run :
808
+ name : Move test zips to builds
809
+ command : mv ./builds-test-flask-mv2 ./builds
810
+ - run :
811
+ name : test:e2e:firefox:flask
812
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:firefox:flask
813
+ no_output_timeout : 5m
814
+ - store_artifacts :
815
+ path : test-artifacts
816
+ destination : test-artifacts
817
+ - store_test_results :
818
+ path : test/test-results/e2e
819
+
820
+ test-e2e-chrome-flask :
821
+ executor : node-browsers-medium-plus
822
+ parallelism : 8
823
+ steps :
824
+ - run : *shallow-git-clone-and-enable-vnc
825
+ - run : sudo corepack enable
826
+ - attach_workspace :
827
+ at : .
828
+ - run :
829
+ name : Move test build to dist
830
+ command : mv ./dist-test-flask ./dist
831
+ - run :
832
+ name : Move test zips to builds
833
+ command : mv ./builds-test-flask ./builds
834
+ - run :
835
+ name : test:e2e:chrome:flask
836
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:chrome:flask
837
+ no_output_timeout : 5m
838
+ - store_artifacts :
839
+ path : test-artifacts
840
+ destination : test-artifacts
841
+ - store_test_results :
842
+ path : test/test-results/e2e
843
+
844
+ test-e2e-swap-playwright - OPTIONAL :
845
+ executor : playwright
846
+ parallelism : 2
847
+ steps :
848
+ - run : *shallow-git-clone-and-enable-vnc
849
+ - run : corepack enable
850
+ - attach_workspace :
851
+ at : .
852
+ - run :
853
+ name : Install chromium
854
+ command : yarn playwright install chromium
855
+ - run :
856
+ name : test:e2e:chrome:swap
857
+ command : |
858
+ TESTFILES=$(circleci tests glob "test/e2e/playwright/swap/**/*.spec.ts")
859
+ echo "$TESTFILES"
860
+ echo "$TESTFILES" | timeout 20m circleci tests run --command="xvfb-run xargs yarn playwright test --project=swap" verbose || true
861
+ # above line makes it never fail, and these tests are going away soon
862
+ no_output_timeout : 10m
863
+ - slack/notify :
864
+ event : fail
865
+ mentions : <@davide.brocchetto>
866
+ template : basic_fail_1
867
+ channel : C06BEG71R1S
868
+ - store_artifacts :
869
+ name : html-report and artifacts
870
+ path : public/playwright/playwright-reports
871
+ - store_test_results :
872
+ name : report for pipeline integration
873
+ path : public/playwright/playwright-reports/junit/test-results.xml
874
+
875
+ test-e2e-firefox :
876
+ executor : node-browsers-medium-plus
877
+ parallelism : 24
878
+ steps :
879
+ - run : *shallow-git-clone-and-enable-vnc
880
+ - run : sudo corepack enable
881
+ - attach_workspace :
882
+ at : .
883
+ - run :
884
+ name : Move test build to dist
885
+ command : mv ./dist-test-mv2 ./dist
886
+ - run :
887
+ name : Move test zips to builds
888
+ command : mv ./builds-test-mv2 ./builds
889
+ - run :
890
+ name : test:e2e:firefox
891
+ command : .circleci/scripts/test-run-e2e.sh yarn test:e2e:firefox
892
+ no_output_timeout : 5m
893
+ - store_artifacts :
894
+ path : test-artifacts
895
+ destination : test-artifacts
896
+ - store_test_results :
897
+ path : test/test-results/e2e
898
+
595
899
job-publish-prerelease :
596
900
executor : node-browsers-medium
597
901
steps :
0 commit comments