Skip to content

Commit

Permalink
Merge pull request #522 from aws-amplify/main
Browse files Browse the repository at this point in the history
Release Codegen Plugin
  • Loading branch information
phani-srikar authored Dec 2, 2022
2 parents c3b7039 + ebd0e4b commit a615827
Show file tree
Hide file tree
Showing 19 changed files with 399 additions and 51 deletions.
112 changes: 64 additions & 48 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,190 +195,198 @@ jobs:
no_output_timeout: 20m
- store_artifacts:
path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports
build-app-ts-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/build-app-ts.test.ts
CLI_REGION: us-east-2
push-codegen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/push-codegen-ios.test.ts
CLI_REGION: us-east-2
CLI_REGION: us-west-1
push-codegen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/push-codegen-android.test.ts
CLI_REGION: us-west-1
CLI_REGION: eu-west-2
push-codegen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/push-codegen-js.test.ts
CLI_REGION: eu-west-2
CLI_REGION: eu-central-1
pull-codegen-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/pull-codegen.test.ts
CLI_REGION: eu-central-1
CLI_REGION: ap-northeast-1
env-codegen-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/env-codegen.test.ts
CLI_REGION: ap-northeast-1
CLI_REGION: ap-southeast-1
add-codegen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/add-codegen-js.test.ts
CLI_REGION: ap-southeast-1
CLI_REGION: ap-southeast-2
model-introspection-codegen-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/model-introspection-codegen.test.ts
CLI_REGION: ap-southeast-2
CLI_REGION: us-east-2
add-codegen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/add-codegen-ios.test.ts
CLI_REGION: us-east-2
CLI_REGION: us-west-1
add-codegen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/add-codegen-android.test.ts
CLI_REGION: us-west-1
CLI_REGION: eu-west-2
datastore-modelgen-flutter-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/datastore-modelgen-flutter.test.ts
CLI_REGION: eu-west-2
CLI_REGION: eu-central-1
datastore-modelgen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/datastore-modelgen-ios.test.ts
CLI_REGION: eu-central-1
CLI_REGION: ap-northeast-1
datastore-modelgen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/datastore-modelgen-android.test.ts
CLI_REGION: ap-northeast-1
CLI_REGION: ap-southeast-1
datastore-modelgen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/datastore-modelgen-js.test.ts
CLI_REGION: ap-southeast-1
CLI_REGION: ap-southeast-2
remove-codegen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/remove-codegen-android.test.ts
CLI_REGION: ap-southeast-2
CLI_REGION: us-east-2
remove-codegen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/remove-codegen-ios.test.ts
CLI_REGION: us-east-2
CLI_REGION: us-west-1
remove-codegen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/remove-codegen-js.test.ts
CLI_REGION: us-west-1
CLI_REGION: eu-west-2
feature-flags-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/feature-flags.test.ts
CLI_REGION: eu-west-2
CLI_REGION: eu-central-1
configure-codegen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/configure-codegen-ios.test.ts
CLI_REGION: eu-central-1
CLI_REGION: ap-northeast-1
configure-codegen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/configure-codegen-android.test.ts
CLI_REGION: ap-northeast-1
CLI_REGION: ap-southeast-1
configure-codegen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/configure-codegen-js.test.ts
CLI_REGION: ap-southeast-1
CLI_REGION: ap-southeast-2
graphql-codegen-android-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/graphql-codegen-android.test.ts
CLI_REGION: ap-southeast-2
CLI_REGION: us-east-2
graphql-codegen-js-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/graphql-codegen-js.test.ts
CLI_REGION: us-east-2
CLI_REGION: us-west-1
graphql-codegen-ios-e2e-test:
working_directory: ~/repo
parameters: *ref_0
executor: << parameters.os >>
steps: *ref_4
environment:
TEST_SUITE: src/__tests__/graphql-codegen-ios.test.ts
CLI_REGION: us-west-1
CLI_REGION: eu-west-2
workflows:
version: 2
e2e_resource_cleanup:
Expand Down Expand Up @@ -438,6 +446,10 @@ workflows:
- done_with_node_e2e_tests:
os: l
requires:
- build-app-ts-e2e-test
- model-introspection-codegen-e2e-test
- remove-codegen-android-e2e-test
- graphql-codegen-android-e2e-test
- push-codegen-ios-e2e-test
- add-codegen-ios-e2e-test
- remove-codegen-ios-e2e-test
Expand All @@ -458,10 +470,7 @@ workflows:
- add-codegen-js-e2e-test
- datastore-modelgen-js-e2e-test
- configure-codegen-js-e2e-test
- model-introspection-codegen-e2e-test
- remove-codegen-android-e2e-test
- graphql-codegen-android-e2e-test
- push-codegen-ios-e2e-test:
- build-app-ts-e2e-test:
context: &ref_6
- cleanup-resources
os: l
Expand All @@ -475,6 +484,34 @@ workflows:
- main
- e2e-testing
- /tagged-release\/.*/
- model-introspection-codegen-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- remove-codegen-android-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- graphql-codegen-android-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- push-codegen-ios-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- add-codegen-ios-e2e-test:
context: *ref_6
os: l
Expand Down Expand Up @@ -608,24 +645,3 @@ workflows:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- model-introspection-codegen-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- remove-codegen-android-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
- graphql-codegen-android-e2e-test:
context: *ref_6
os: l
requires:
- publish_to_local_registry
post-steps: *ref_7
filters: *ref_8
5 changes: 4 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,9 @@ module.exports = {
'/packages/*/lib',

// Ignore CHANGELOG.md files
'/packages/*/CHANGELOG.md'
'/packages/*/CHANGELOG.md',

// Ignore lint in e2e test apps
'test-apps'
]
};
6 changes: 5 additions & 1 deletion packages/amplify-codegen-e2e-core/src/categories/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ interface AddApiOptions {

const defaultOptions: AddApiOptions = {
apiName: '\r',
testingWithLatestCodebase: false
testingWithLatestCodebase: false,
};

export function addApiWithoutSchema(cwd: string, opts: Partial<AddApiOptions & { apiKeyExpirationDays: number }> = {}) {
Expand Down Expand Up @@ -129,6 +129,10 @@ export function addApiWithBlankSchemaAndConflictDetection(cwd: string) {
export function updateApiSchema(cwd: string, projectName: string, schemaName: string, forceUpdate: boolean = false) {
const testSchemaPath = getSchemaPath(schemaName);
let schemaText = fs.readFileSync(testSchemaPath).toString();
updateApiSchemaWithText(cwd, projectName, schemaText, forceUpdate);
}

export function updateApiSchemaWithText(cwd: string, projectName: string, schemaText: string, forceUpdate: boolean = false) {
if (forceUpdate) {
schemaText += ' ';
}
Expand Down
36 changes: 36 additions & 0 deletions packages/amplify-codegen-e2e-core/src/init/cra.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* commands for a Create React App */
import { nspawn as spawn } from '..';

const defaultSettings = {
disableCIDetection: false,
};

export function craInstall(cwd: string, settings: Object = {}): Promise<void> {
return new Promise((resolve, reject) => {
const s = { ...defaultSettings, ...settings };
const chain = spawn('npm', ['install'], { cwd, stripColors: true, disableCIDetection: s.disableCIDetection });

chain.run((err: Error) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}

export function craBuild(cwd: string, settings: Object = {}): Promise<void> {
return new Promise((resolve, reject) => {
const s = { ...defaultSettings, ...settings };
const chain = spawn('npm', ['run', 'build'], { cwd, stripColors: true, disableCIDetection: s.disableCIDetection });

chain.run((err: Error) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
1 change: 1 addition & 0 deletions packages/amplify-codegen-e2e-core/src/init/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ export * from './deleteProject';
export * from './initProjectHelper';
export * from './pull-headless';
export * from './adminUI';
export * from './cra';
1 change: 1 addition & 0 deletions packages/amplify-codegen-e2e-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
},
"dependencies": {
"@aws-amplify/amplify-codegen-e2e-core": "1.4.1",
"@aws-amplify/graphql-schema-test-library": "^1.1.18",
"aws-amplify": "^4.3.26",
"aws-appsync": "^4.0.3",
"aws-sdk": "^2.845.0",
Expand Down
Loading

0 comments on commit a615827

Please sign in to comment.