Skip to content

Commit a615827

Browse files
authored
Merge pull request #522 from aws-amplify/main
Release Codegen Plugin
2 parents c3b7039 + ebd0e4b commit a615827

File tree

19 files changed

+399
-51
lines changed

19 files changed

+399
-51
lines changed

.circleci/config.yml

Lines changed: 64 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -195,190 +195,198 @@ jobs:
195195
no_output_timeout: 20m
196196
- store_artifacts:
197197
path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports
198+
build-app-ts-e2e-test:
199+
working_directory: ~/repo
200+
parameters: *ref_0
201+
executor: << parameters.os >>
202+
steps: *ref_4
203+
environment:
204+
TEST_SUITE: src/__tests__/build-app-ts.test.ts
205+
CLI_REGION: us-east-2
198206
push-codegen-ios-e2e-test:
199207
working_directory: ~/repo
200208
parameters: *ref_0
201209
executor: << parameters.os >>
202210
steps: *ref_4
203211
environment:
204212
TEST_SUITE: src/__tests__/push-codegen-ios.test.ts
205-
CLI_REGION: us-east-2
213+
CLI_REGION: us-west-1
206214
push-codegen-android-e2e-test:
207215
working_directory: ~/repo
208216
parameters: *ref_0
209217
executor: << parameters.os >>
210218
steps: *ref_4
211219
environment:
212220
TEST_SUITE: src/__tests__/push-codegen-android.test.ts
213-
CLI_REGION: us-west-1
221+
CLI_REGION: eu-west-2
214222
push-codegen-js-e2e-test:
215223
working_directory: ~/repo
216224
parameters: *ref_0
217225
executor: << parameters.os >>
218226
steps: *ref_4
219227
environment:
220228
TEST_SUITE: src/__tests__/push-codegen-js.test.ts
221-
CLI_REGION: eu-west-2
229+
CLI_REGION: eu-central-1
222230
pull-codegen-e2e-test:
223231
working_directory: ~/repo
224232
parameters: *ref_0
225233
executor: << parameters.os >>
226234
steps: *ref_4
227235
environment:
228236
TEST_SUITE: src/__tests__/pull-codegen.test.ts
229-
CLI_REGION: eu-central-1
237+
CLI_REGION: ap-northeast-1
230238
env-codegen-e2e-test:
231239
working_directory: ~/repo
232240
parameters: *ref_0
233241
executor: << parameters.os >>
234242
steps: *ref_4
235243
environment:
236244
TEST_SUITE: src/__tests__/env-codegen.test.ts
237-
CLI_REGION: ap-northeast-1
245+
CLI_REGION: ap-southeast-1
238246
add-codegen-js-e2e-test:
239247
working_directory: ~/repo
240248
parameters: *ref_0
241249
executor: << parameters.os >>
242250
steps: *ref_4
243251
environment:
244252
TEST_SUITE: src/__tests__/add-codegen-js.test.ts
245-
CLI_REGION: ap-southeast-1
253+
CLI_REGION: ap-southeast-2
246254
model-introspection-codegen-e2e-test:
247255
working_directory: ~/repo
248256
parameters: *ref_0
249257
executor: << parameters.os >>
250258
steps: *ref_4
251259
environment:
252260
TEST_SUITE: src/__tests__/model-introspection-codegen.test.ts
253-
CLI_REGION: ap-southeast-2
261+
CLI_REGION: us-east-2
254262
add-codegen-ios-e2e-test:
255263
working_directory: ~/repo
256264
parameters: *ref_0
257265
executor: << parameters.os >>
258266
steps: *ref_4
259267
environment:
260268
TEST_SUITE: src/__tests__/add-codegen-ios.test.ts
261-
CLI_REGION: us-east-2
269+
CLI_REGION: us-west-1
262270
add-codegen-android-e2e-test:
263271
working_directory: ~/repo
264272
parameters: *ref_0
265273
executor: << parameters.os >>
266274
steps: *ref_4
267275
environment:
268276
TEST_SUITE: src/__tests__/add-codegen-android.test.ts
269-
CLI_REGION: us-west-1
277+
CLI_REGION: eu-west-2
270278
datastore-modelgen-flutter-e2e-test:
271279
working_directory: ~/repo
272280
parameters: *ref_0
273281
executor: << parameters.os >>
274282
steps: *ref_4
275283
environment:
276284
TEST_SUITE: src/__tests__/datastore-modelgen-flutter.test.ts
277-
CLI_REGION: eu-west-2
285+
CLI_REGION: eu-central-1
278286
datastore-modelgen-ios-e2e-test:
279287
working_directory: ~/repo
280288
parameters: *ref_0
281289
executor: << parameters.os >>
282290
steps: *ref_4
283291
environment:
284292
TEST_SUITE: src/__tests__/datastore-modelgen-ios.test.ts
285-
CLI_REGION: eu-central-1
293+
CLI_REGION: ap-northeast-1
286294
datastore-modelgen-android-e2e-test:
287295
working_directory: ~/repo
288296
parameters: *ref_0
289297
executor: << parameters.os >>
290298
steps: *ref_4
291299
environment:
292300
TEST_SUITE: src/__tests__/datastore-modelgen-android.test.ts
293-
CLI_REGION: ap-northeast-1
301+
CLI_REGION: ap-southeast-1
294302
datastore-modelgen-js-e2e-test:
295303
working_directory: ~/repo
296304
parameters: *ref_0
297305
executor: << parameters.os >>
298306
steps: *ref_4
299307
environment:
300308
TEST_SUITE: src/__tests__/datastore-modelgen-js.test.ts
301-
CLI_REGION: ap-southeast-1
309+
CLI_REGION: ap-southeast-2
302310
remove-codegen-android-e2e-test:
303311
working_directory: ~/repo
304312
parameters: *ref_0
305313
executor: << parameters.os >>
306314
steps: *ref_4
307315
environment:
308316
TEST_SUITE: src/__tests__/remove-codegen-android.test.ts
309-
CLI_REGION: ap-southeast-2
317+
CLI_REGION: us-east-2
310318
remove-codegen-ios-e2e-test:
311319
working_directory: ~/repo
312320
parameters: *ref_0
313321
executor: << parameters.os >>
314322
steps: *ref_4
315323
environment:
316324
TEST_SUITE: src/__tests__/remove-codegen-ios.test.ts
317-
CLI_REGION: us-east-2
325+
CLI_REGION: us-west-1
318326
remove-codegen-js-e2e-test:
319327
working_directory: ~/repo
320328
parameters: *ref_0
321329
executor: << parameters.os >>
322330
steps: *ref_4
323331
environment:
324332
TEST_SUITE: src/__tests__/remove-codegen-js.test.ts
325-
CLI_REGION: us-west-1
333+
CLI_REGION: eu-west-2
326334
feature-flags-e2e-test:
327335
working_directory: ~/repo
328336
parameters: *ref_0
329337
executor: << parameters.os >>
330338
steps: *ref_4
331339
environment:
332340
TEST_SUITE: src/__tests__/feature-flags.test.ts
333-
CLI_REGION: eu-west-2
341+
CLI_REGION: eu-central-1
334342
configure-codegen-ios-e2e-test:
335343
working_directory: ~/repo
336344
parameters: *ref_0
337345
executor: << parameters.os >>
338346
steps: *ref_4
339347
environment:
340348
TEST_SUITE: src/__tests__/configure-codegen-ios.test.ts
341-
CLI_REGION: eu-central-1
349+
CLI_REGION: ap-northeast-1
342350
configure-codegen-android-e2e-test:
343351
working_directory: ~/repo
344352
parameters: *ref_0
345353
executor: << parameters.os >>
346354
steps: *ref_4
347355
environment:
348356
TEST_SUITE: src/__tests__/configure-codegen-android.test.ts
349-
CLI_REGION: ap-northeast-1
357+
CLI_REGION: ap-southeast-1
350358
configure-codegen-js-e2e-test:
351359
working_directory: ~/repo
352360
parameters: *ref_0
353361
executor: << parameters.os >>
354362
steps: *ref_4
355363
environment:
356364
TEST_SUITE: src/__tests__/configure-codegen-js.test.ts
357-
CLI_REGION: ap-southeast-1
365+
CLI_REGION: ap-southeast-2
358366
graphql-codegen-android-e2e-test:
359367
working_directory: ~/repo
360368
parameters: *ref_0
361369
executor: << parameters.os >>
362370
steps: *ref_4
363371
environment:
364372
TEST_SUITE: src/__tests__/graphql-codegen-android.test.ts
365-
CLI_REGION: ap-southeast-2
373+
CLI_REGION: us-east-2
366374
graphql-codegen-js-e2e-test:
367375
working_directory: ~/repo
368376
parameters: *ref_0
369377
executor: << parameters.os >>
370378
steps: *ref_4
371379
environment:
372380
TEST_SUITE: src/__tests__/graphql-codegen-js.test.ts
373-
CLI_REGION: us-east-2
381+
CLI_REGION: us-west-1
374382
graphql-codegen-ios-e2e-test:
375383
working_directory: ~/repo
376384
parameters: *ref_0
377385
executor: << parameters.os >>
378386
steps: *ref_4
379387
environment:
380388
TEST_SUITE: src/__tests__/graphql-codegen-ios.test.ts
381-
CLI_REGION: us-west-1
389+
CLI_REGION: eu-west-2
382390
workflows:
383391
version: 2
384392
e2e_resource_cleanup:
@@ -438,6 +446,10 @@ workflows:
438446
- done_with_node_e2e_tests:
439447
os: l
440448
requires:
449+
- build-app-ts-e2e-test
450+
- model-introspection-codegen-e2e-test
451+
- remove-codegen-android-e2e-test
452+
- graphql-codegen-android-e2e-test
441453
- push-codegen-ios-e2e-test
442454
- add-codegen-ios-e2e-test
443455
- remove-codegen-ios-e2e-test
@@ -458,10 +470,7 @@ workflows:
458470
- add-codegen-js-e2e-test
459471
- datastore-modelgen-js-e2e-test
460472
- configure-codegen-js-e2e-test
461-
- model-introspection-codegen-e2e-test
462-
- remove-codegen-android-e2e-test
463-
- graphql-codegen-android-e2e-test
464-
- push-codegen-ios-e2e-test:
473+
- build-app-ts-e2e-test:
465474
context: &ref_6
466475
- cleanup-resources
467476
os: l
@@ -475,6 +484,34 @@ workflows:
475484
- main
476485
- e2e-testing
477486
- /tagged-release\/.*/
487+
- model-introspection-codegen-e2e-test:
488+
context: *ref_6
489+
os: l
490+
requires:
491+
- publish_to_local_registry
492+
post-steps: *ref_7
493+
filters: *ref_8
494+
- remove-codegen-android-e2e-test:
495+
context: *ref_6
496+
os: l
497+
requires:
498+
- publish_to_local_registry
499+
post-steps: *ref_7
500+
filters: *ref_8
501+
- graphql-codegen-android-e2e-test:
502+
context: *ref_6
503+
os: l
504+
requires:
505+
- publish_to_local_registry
506+
post-steps: *ref_7
507+
filters: *ref_8
508+
- push-codegen-ios-e2e-test:
509+
context: *ref_6
510+
os: l
511+
requires:
512+
- publish_to_local_registry
513+
post-steps: *ref_7
514+
filters: *ref_8
478515
- add-codegen-ios-e2e-test:
479516
context: *ref_6
480517
os: l
@@ -608,24 +645,3 @@ workflows:
608645
- publish_to_local_registry
609646
post-steps: *ref_7
610647
filters: *ref_8
611-
- model-introspection-codegen-e2e-test:
612-
context: *ref_6
613-
os: l
614-
requires:
615-
- publish_to_local_registry
616-
post-steps: *ref_7
617-
filters: *ref_8
618-
- remove-codegen-android-e2e-test:
619-
context: *ref_6
620-
os: l
621-
requires:
622-
- publish_to_local_registry
623-
post-steps: *ref_7
624-
filters: *ref_8
625-
- graphql-codegen-android-e2e-test:
626-
context: *ref_6
627-
os: l
628-
requires:
629-
- publish_to_local_registry
630-
post-steps: *ref_7
631-
filters: *ref_8

.eslintrc.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,9 @@ module.exports = {
240240
'/packages/*/lib',
241241

242242
// Ignore CHANGELOG.md files
243-
'/packages/*/CHANGELOG.md'
243+
'/packages/*/CHANGELOG.md',
244+
245+
// Ignore lint in e2e test apps
246+
'test-apps'
244247
]
245248
};

packages/amplify-codegen-e2e-core/src/categories/api.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ interface AddApiOptions {
2929

3030
const defaultOptions: AddApiOptions = {
3131
apiName: '\r',
32-
testingWithLatestCodebase: false
32+
testingWithLatestCodebase: false,
3333
};
3434

3535
export function addApiWithoutSchema(cwd: string, opts: Partial<AddApiOptions & { apiKeyExpirationDays: number }> = {}) {
@@ -129,6 +129,10 @@ export function addApiWithBlankSchemaAndConflictDetection(cwd: string) {
129129
export function updateApiSchema(cwd: string, projectName: string, schemaName: string, forceUpdate: boolean = false) {
130130
const testSchemaPath = getSchemaPath(schemaName);
131131
let schemaText = fs.readFileSync(testSchemaPath).toString();
132+
updateApiSchemaWithText(cwd, projectName, schemaText, forceUpdate);
133+
}
134+
135+
export function updateApiSchemaWithText(cwd: string, projectName: string, schemaText: string, forceUpdate: boolean = false) {
132136
if (forceUpdate) {
133137
schemaText += ' ';
134138
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/* commands for a Create React App */
2+
import { nspawn as spawn } from '..';
3+
4+
const defaultSettings = {
5+
disableCIDetection: false,
6+
};
7+
8+
export function craInstall(cwd: string, settings: Object = {}): Promise<void> {
9+
return new Promise((resolve, reject) => {
10+
const s = { ...defaultSettings, ...settings };
11+
const chain = spawn('npm', ['install'], { cwd, stripColors: true, disableCIDetection: s.disableCIDetection });
12+
13+
chain.run((err: Error) => {
14+
if (err) {
15+
reject(err);
16+
} else {
17+
resolve();
18+
}
19+
});
20+
});
21+
}
22+
23+
export function craBuild(cwd: string, settings: Object = {}): Promise<void> {
24+
return new Promise((resolve, reject) => {
25+
const s = { ...defaultSettings, ...settings };
26+
const chain = spawn('npm', ['run', 'build'], { cwd, stripColors: true, disableCIDetection: s.disableCIDetection });
27+
28+
chain.run((err: Error) => {
29+
if (err) {
30+
reject(err);
31+
} else {
32+
resolve();
33+
}
34+
});
35+
});
36+
}

packages/amplify-codegen-e2e-core/src/init/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ export * from './deleteProject';
44
export * from './initProjectHelper';
55
export * from './pull-headless';
66
export * from './adminUI';
7+
export * from './cra';

packages/amplify-codegen-e2e-tests/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
},
2424
"dependencies": {
2525
"@aws-amplify/amplify-codegen-e2e-core": "1.4.1",
26+
"@aws-amplify/graphql-schema-test-library": "^1.1.18",
2627
"aws-amplify": "^4.3.26",
2728
"aws-appsync": "^4.0.3",
2829
"aws-sdk": "^2.845.0",

0 commit comments

Comments
 (0)