Skip to content

Commit 64e1ee6

Browse files
author
Dane Pilcher
authored
ci: add build e2e test for swift (#520)
1 parent 6ff41e8 commit 64e1ee6

File tree

18 files changed

+925
-141
lines changed

18 files changed

+925
-141
lines changed

.circleci/config.base.yml

Lines changed: 62 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
version: 2.1
22
orbs:
33
aws-ecr: circleci/[email protected]
4+
node: circleci/[email protected]
45
machine:
56
environment:
67
PATH: '${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin'
78
executors:
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+
2738
defaults: &defaults
2839
working_directory: ~/repo
2940
parameters:
30-
os:
31-
type: executor
41+
os:
42+
type: executor
3243

3344
install_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+
4657
clean_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:
@@ -79,7 +90,7 @@ jobs:
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

Comments
 (0)