11version : 2.1
22orbs :
33 aws-ecr :
circleci/[email protected] 4+ 45machine :
56 environment :
67 PATH : ' ${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin'
78executors :
89 w : &windows-e2e-executor
910 machine :
10- image : " windows-server-2019-vs2019:stable"
11- resource_class : " windows.medium"
11+ image : ' windows-server-2019-vs2019:stable'
12+ resource_class : ' windows.medium'
1213 shell : bash.exe
1314 working_directory : ~/repo
1415 environment :
@@ -24,11 +25,21 @@ executors:
2425 AMPLIFY_DIR : /home/circleci/repo/out
2526 AMPLIFY_PATH : /home/circleci/repo/out/amplify-pkg-linux-x64
2627
28+ m : &macos-e2e-executor
29+ macos :
30+ xcode : 14.1.0
31+ working_directory : ~/repo
32+ resource_class : large
33+ environment :
34+ CXXFLAGS : ' --std=c++17'
35+ AMPLIFY_DIR : /home/circleci/repo/out
36+ AMPLIFY_PATH : /home/circleci/repo/out/amplify-pkg-linux-x64
37+
2738defaults : &defaults
2839 working_directory : ~/repo
2940 parameters :
30- os :
31- type : executor
41+ os :
42+ type : executor
3243
3344install_cli_with_local_codegen : &install_cli
3445 name : install Amplify CLI and amplify-app with local Amplify Codegen
@@ -42,7 +53,7 @@ install_cli_with_local_codegen: &install_cli
4253 npm list --global --depth=1
4354 unsetNpmRegistryUrl
4455 working_directory : ~/repo
45-
56+
4657clean_up_e2e_resources : &cleanup_e2e
4758 name : Clean up e2e resources
4859 command : |
@@ -61,11 +72,11 @@ jobs:
6172 - run : yarn cache clean --force
6273 - run : yarn run production-build
6374 - save_cache :
64- key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
75+ key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-<< parameters.os >>
6576 paths :
6677 - ~/.cache
6778 - save_cache :
68- key : amplify-codegen-ssh-deps-{{ .Branch }}
79+ key : amplify-codegen-ssh-deps-{{ .Branch }}-<< parameters.os >>
6980 paths :
7081 - ~/.ssh
7182 - persist_to_workspace :
7990 - when :
8091 condition :
8192 or :
82- - equal : [ *windows-e2e-executor, << parameters.os >> ]
93+ - equal : [*windows-e2e-executor, << parameters.os >>]
8394 steps :
8495 - checkout
8596 - run : nvm install 12.22.7
@@ -90,12 +101,12 @@ jobs:
90101 - when :
91102 condition :
92103 or :
93- - equal : [ *linux-e2e-executor, << parameters.os >> ]
104+ - equal : [*linux-e2e-executor, << parameters.os >>]
94105 steps :
95106 - attach_workspace :
96107 at : ./
97108 - restore_cache :
98- key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
109+ key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-l
99110 - run :
100111 name : Lint
101112 command : yarn lint
@@ -114,8 +125,8 @@ jobs:
114125 at : ./
115126 - restore_cache :
116127 keys :
117- - amplify-codegen-ssh-deps-{{ .Branch }}
118- - amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
128+ - amplify-codegen-ssh-deps-{{ .Branch }}-l
129+ - amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-l
119130 - run :
120131 name : Authenticate with npm
121132 command : echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
@@ -131,7 +142,7 @@ jobs:
131142 - attach_workspace :
132143 at : ./
133144 - restore_cache :
134- key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
145+ key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-<< parameters.os >>
135146 - run :
136147 name : Publish to verdaccio
137148 command : |
@@ -144,7 +155,7 @@ jobs:
144155 yarn publish-to-verdaccio
145156 unsetNpmRegistryUrl
146157 - save_cache :
147- key : amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }}
158+ key : amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }}-<< parameters.os >>
148159 paths :
149160 - ~/verdaccio-cache/
150161
@@ -155,9 +166,31 @@ jobs:
155166 - attach_workspace :
156167 at : ./
157168 - restore_cache :
158- key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
169+ key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-<< parameters.os >>
170+ - restore_cache :
171+ key : amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }}-<< parameters.os >>
172+ - run : *install_cli
173+ - run :
174+ name : Run e2e tests
175+ command : |
176+ cd packages/amplify-codegen-e2e-tests
177+ yarn e2e --maxWorkers=3 $TEST_SUITE
178+ no_output_timeout : 20m
179+ - store_test_results :
180+ path : packages/amplify-codegen-e2e-tests/
181+ - store_artifacts :
182+ path : ~/repo/packages/amplify-codegen-e2e-tests/amplify-e2e-reports
183+
184+ e2e-test-macos :
185+ << : *defaults
186+ executor : << parameters.os >>
187+ steps :
188+ - attach_workspace :
189+ at : ./
190+ - restore_cache :
191+ key : amplify-codegen-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}-<< parameters.os >>
159192 - restore_cache :
160- key : amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }}
193+ key : amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }}-<< parameters.os >>
161194 - run : *install_cli
162195 - run :
163196 name : Run e2e tests
@@ -175,7 +208,7 @@ jobs:
175208 executor : << parameters.os >>
176209 steps :
177210 - run : echo 'Done with Node CLI E2E Tests'
178-
211+
179212 cleanup_resources :
180213 << : *defaults
181214 executor : << parameters.os >>
@@ -218,18 +251,24 @@ workflows:
218251 build_test_deploy :
219252 jobs :
220253 - build :
221- os : l
254+ name : build-<< matrix.os >>
255+ matrix :
256+ parameters :
257+ os : [l, m]
222258 - test :
223259 name : test-<< matrix.os >>
224260 matrix :
225261 parameters :
226262 os : [l, w]
227263 requires :
228- - build
264+ - build-l
229265 - publish_to_local_registry :
230- os : l
266+ name : publish_to_local_registry-<< matrix.os >>
267+ matrix :
268+ parameters :
269+ os : [l, m]
231270 requires :
232- - build
271+ - build-<< matrix.os >>
233272 filters :
234273 branches :
235274 only :
@@ -241,7 +280,7 @@ workflows:
241280 - cleanup-resources
242281 os : l
243282 requires :
244- - publish_to_local_registry
283+ - publish_to_local_registry-l
245284 post-steps :
246285 - run : *cleanup_e2e
247286 filters :
@@ -266,4 +305,4 @@ workflows:
266305 - done_with_node_e2e_tests :
267306 os : l
268307 requires :
269- - e2e-test
308+ - e2e-test
0 commit comments