From 52007b97fb2dfb6410b21de9a83c46f646bb060d Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 03:19:43 -0500 Subject: [PATCH 01/69] ci: migrated to new test strategy --- .circleci/generated_config_v2.yml | 16828 ++++++++++++++++++++++++++++ scripts/split-e2e-tests-v2.ts | 250 + scripts/split-e2e-tests.ts | 32 +- 3 files changed, 17098 insertions(+), 12 deletions(-) create mode 100644 .circleci/generated_config_v2.yml create mode 100644 scripts/split-e2e-tests-v2.ts diff --git a/.circleci/generated_config_v2.yml b/.circleci/generated_config_v2.yml new file mode 100644 index 00000000000..d06bc9bd4d3 --- /dev/null +++ b/.circleci/generated_config_v2.yml @@ -0,0 +1,16828 @@ +# auto generated file. Edit config.base.yaml if you want to change +version: 2.1 +orbs: + aws-ecr: circleci/aws-ecr@6.15.3 +machine: + environment: + PATH: ${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin +parameters: + nightly_console_integration_tests: + type: boolean + default: false + setup: + type: boolean + default: true +executors: + w_medium: + machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + w_xlarge: + machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.xlarge + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + l_xlarge: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: xlarge + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + l_large: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + l_medium: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 +defaults: + working_directory: ~/repo + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> +scan_e2e_test_artifacts: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always +install_cli_from_local_registry: + name: Start verdaccio, install node CLI and amplify-app + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + npm install -g @aws-amplify/cli + npm install -g amplify-app + unsetNpmRegistryUrl +jobs: + build: + parameters: + os: + type: executor + default: l_xlarge + executor: l_xlarge + steps: + - checkout + - run: yarn config set script-shell $(which bash) + - run: yarn run production-build + - run: + name: Build tests + command: yarn build-tests + - save_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo + - save_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + paths: + - ~/.cache + - save_cache: + key: amplify-cli-ssh-deps-{{ .Branch }} + paths: + - ~/.ssh + build_windows_workspace_for_e2e: + parameters: + os: + type: executor + default: w_xlarge + executor: w_xlarge + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.xlarge + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - checkout + - run: yarn config set script-shell $(which bash) + - run: yarn run production-build + - run: + name: Build tests + command: yarn build-tests + - persist_to_workspace: + root: ~/. + paths: + - repo + - .cache + - .ssh + test: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: xlarge + environment: + NODE_OPTIONS: '--max-old-space-size=4096' + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Run tests + command: yarn test-ci + - run: + name: Collect code coverage + command: yarn coverage + lint: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: chmod +x .circleci/lint_pr.sh && ./.circleci/lint_pr.sh + verify-api-extract: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: xlarge + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: extract api + command: | + yarn verify-api-extract + verify-versions-match: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: verify versions match + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + checkPackageVersionsInLocalNpmRegistry + mock_e2e_tests: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Run Transformer end-to-end tests with mock server + command: | + source .circleci/local_publish_helpers.sh + cd packages/amplify-util-mock/ + yarn e2e + no_output_timeout: 90m + environment: + JEST_JUNIT_OUTPUT: reports/junit/js-test-results.xml + - store_test_results: + path: ~/repo/packages/amplify-util-mock/ + publish_to_local_registry: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Publish to verdaccio + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + export LOCAL_PUBLISH_TO_LATEST=true + ./.circleci/publish.sh + unsetNpmRegistryUrl + - run: + name: Generate unified changelog + command: | + git reset --soft HEAD~1 + yarn ts-node scripts/unified-changelog.ts + cat UNIFIED_CHANGELOG.md + - run: + name: Save new amplify GitHub tag + command: node scripts/echo-current-cli-version.js > .amplify-pkg-version + - save_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + paths: + - ~/verdaccio-cache/ + - save_cache: + key: amplify-unified-changelog-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/UNIFIED_CHANGELOG.md + - save_cache: + key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/.amplify-pkg-version + upload_pkg_binaries: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} + - run: + name: Consolidate binaries cache and upload + command: | + source .circleci/local_publish_helpers.sh + uploadPkgCli + - save_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/out + build_pkg_binaries_linux: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: Start verdaccio and package CLI + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + generatePkgCli linux + unsetNpmRegistryUrl + - save_cache: + key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/out + build_pkg_binaries_macos: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: Start verdaccio and package CLI + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + generatePkgCli macos + unsetNpmRegistryUrl + - save_cache: + key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/out + build_pkg_binaries_win: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: Start verdaccio and package CLI + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + generatePkgCli win + unsetNpmRegistryUrl + - save_cache: + key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/out + build_pkg_binaries_arm: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: Start verdaccio and package CLI + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + generatePkgCli arm + unsetNpmRegistryUrl + - save_cache: + key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} + paths: + - ~/repo/out + verify_pkg_binaries: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} + - run: + name: Verify packaged CLI + command: | + source .circleci/local_publish_helpers.sh + verifyPkgCli + graphql_e2e_tests: + working_directory: ~/repo + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Run GraphQL end-to-end tests + command: | + source .circleci/local_publish_helpers.sh + cd packages/graphql-transformers-e2e-tests/ + retry yarn e2e --maxWorkers=3 $TEST_SUITE + environment: + AMPLIFY_CLI_DISABLE_LOGGING: 'true' + no_output_timeout: 90m + - store_test_results: + path: ~/repo/packages/graphql-transformers-e2e-tests/ + amplify_sudo_install_test: + working_directory: ~/repo + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Update OS Packages + command: sudo apt-get update + - run: + name: Start verdaccio and Install Amplify CLI as sudo + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setSudoNpmRegistryUrlToLocal + changeSudoNpmGlobalPath + sudo npm install -g @aws-amplify/cli + unsetSudoNpmRegistryUrl + amplify version + amplify_e2e_tests_pkg: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + amplify_migration_tests_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + amplify_migration_tests_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + amplify_migration_tests_v10: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v10.5.1 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + unset IS_AMPLIFY_CI + echo $IS_AMPLIFY_CI + retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + amplify_migration_tests_non_multi_env_layers: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Run tests migrating from CLI v4.28.2 + command: > + source .circleci/local_publish_helpers.sh + + changeNpmGlobalPath + + cd packages/amplify-migration-tests + + retry yarn run migration_v4.28.2_nonmultienv_layers --maxWorkers=3 + $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + amplify_migration_tests_multi_env_layers: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v4.52.0 + command: > + source .circleci/local_publish_helpers.sh + + changeNpmGlobalPath + + cd packages/amplify-migration-tests + + retry yarn run migration_v4.52.0_multienv_layers --maxWorkers=3 + $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + amplify_console_integration_tests: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: + name: Start verdaccio, install node CLI and amplify-app + command: | + source .circleci/local_publish_helpers.sh + startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" + setNpmRegistryUrlToLocal + changeNpmGlobalPath + npm install -g @aws-amplify/cli + npm install -g amplify-app + unsetNpmRegistryUrl + - run: + command: | + echo "export PATH=~/.npm-global/bin:$PATH" >> $BASH_ENV + source $BASH_ENV + source .circleci/local_publish_helpers.sh + amplify -v + cd packages/amplify-console-integration-tests + retry yarn run console-integration --maxWorkers=3 + name: Run Amplify Console integration tests + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-console-integration-tests/ + - store_artifacts: + path: >- + ~/repo/packages/amplify-console-integration-tests/console-integration-reports + working_directory: ~/repo + integration_test: + working_directory: /home/circleci/repo + resource_class: large + docker: + - image: cypress/base:14.17.0 + environment: + TERM: dumb + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - run: cd .circleci/ && chmod +x aws.sh + - run: + name: Setup Dependencies + command: | + apt-get update + apt-get install -y sudo + sudo apt-get install -y tcl + sudo apt-get install -y expect + sudo apt-get install -y zip + sudo apt-get install -y lsof + sudo apt-get install -y python python-pip libpython-dev + sudo apt-get install -y jq + pip install awscli + - run: expect .circleci/aws_configure.exp + - run: + name: Configure Amplify CLI + command: > + yarn rm-dev-link && yarn link-dev && yarn rm-aa-dev-link && yarn + link-aa-dev + + echo 'export PATH="$(yarn global bin):$PATH"' >> $BASH_ENV + + amplify-dev + - run: + name: Clone auth test package + command: | + cd .. + git clone $AUTH_CLONE_URL + cd aws-amplify-cypress-auth + yarn --cache-folder ~/.cache/yarn + yarn add cypress@6.8.0 --save + - run: cd .circleci/ && chmod +x auth.sh + - run: cd .circleci/ && chmod +x amplify_init.sh + - run: cd .circleci/ && chmod +x amplify_init.exp + - run: expect .circleci/amplify_init.exp ../aws-amplify-cypress-auth + - run: expect .circleci/enable_auth.exp + - run: cd ../aws-amplify-cypress-auth + - run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn + - run: >- + cd ../aws-amplify-cypress-auth/src && cat $(find . -type f -name + 'aws-exports*') + - run: + name: Start Auth test server in background + command: | + cd ../aws-amplify-cypress-auth + pwd + yarn start + background: true + - run: cat $(find ../repo -type f -name 'auth_spec*') + - run: + name: Run cypress tests for auth + command: | + cd ../aws-amplify-cypress-auth + cp ../repo/cypress.json . + cp -R ../repo/cypress . + yarn cypress run --spec $(find . -type f -name 'auth_spec*') + - run: sudo kill -9 $(lsof -t -i:3000) + - run: cd .circleci/ && chmod +x delete_auth.sh + - run: expect .circleci/delete_auth.exp + - run: + name: Clone API test package + command: | + cd .. + git clone $API_CLONE_URL + cd aws-amplify-cypress-api + yarn --cache-folder ~/.cache/yarn + - run: cd .circleci/ && chmod +x api.sh + - run: expect .circleci/amplify_init.exp ../aws-amplify-cypress-api + - run: expect .circleci/enable_api.exp + - run: cd ../aws-amplify-cypress-api + - run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn + - run: >- + cd ../aws-amplify-cypress-api/src && cat $(find . -type f -name + 'aws-exports*') + - run: + name: Start API test server in background + command: | + cd ../aws-amplify-cypress-api + pwd + yarn start + background: true + - run: + name: Run cypress tests for api + command: | + cd ../aws-amplify-cypress-api + yarn add cypress@6.8.0 --save + cp ../repo/cypress.json . + cp -R ../repo/cypress . + yarn cypress run --spec $(find . -type f -name 'api_spec*') + - run: cd .circleci/ && chmod +x delete_api.sh + - run: expect .circleci/delete_api.exp + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_artifacts: + path: ~/aws-amplify-cypress-auth/cypress/videos + - store_artifacts: + path: ~/aws-amplify-cypress-auth/cypress/screenshots + - store_artifacts: + path: ~/aws-amplify-cypress-api/cypress/videos + - store_artifacts: + path: ~/aws-amplify-cypress-api/cypress/screenshots + deploy: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + keys: + - amplify-cli-ssh-deps-{{ .Branch }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Upload Pkg Binary + command: | + source .circleci/local_publish_helpers.sh + uploadPkgCli + ./out/amplify-pkg-linux-x64 --version + - run: + name: Authenticate with npm + command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc + - run: + name: Publish Amplify CLI + command: | + bash ./.circleci/publish.sh + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + github_prerelease: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-unified-changelog-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} + - run: + name: Compress binaries + command: | + cd out + mv amplify-pkg-macos-x64 amplify-pkg-macos + mv amplify-pkg-linux-x64 amplify-pkg-linux + mv amplify-pkg-win-x64.exe amplify-pkg-win.exe + tar zcvf amplify-pkg-macos.tgz amplify-pkg-macos + tar zcvf amplify-pkg-linux.tgz amplify-pkg-linux + tar zcvf amplify-pkg-win.exe.tgz amplify-pkg-win.exe + - run: + name: Publish Amplify CLI GitHub prerelease + command: | + commit=$(git rev-parse HEAD) + version=$(cat .amplify-pkg-version) + yarn ts-node scripts/github-prerelease.ts $version $commit + github_prerelease_install_sanity_check: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} + - run: + name: Install packaged Amplify CLI + command: > + version=$(cat .amplify-pkg-version) + + curl -sL https://aws-amplify.github.io/amplify-cli/install | + version=v$version bash + + echo "export PATH=$PATH:$HOME/.amplify/bin" >> $BASH_ENV + - run: + name: Sanity check install + command: | + amplify version + github_release: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} + - run: + name: Publish Amplify CLI GitHub release + command: | + commit=$(git rev-parse HEAD) + version=$(cat .amplify-pkg-version) + yarn ts-node scripts/github-release.ts $version $commit + cleanup_resources: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Run cleanup script + command: | + cd packages/amplify-e2e-tests + yarn clean-e2e-resources + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + trigger_e2e_workflow_cleanup: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - run: + name: Trigger Cleanup for this Workflow + command: | + echo "Triggering cleanup for Workflow $CIRCLE_WORKFLOW_ID" + curl --request POST \ + --url https://circleci.com/api/v2/project/gh/aws-amplify/amplify-cli/pipeline \ + --header "Circle-Token: $AMPLIFY_CLI_CIRCLECI_TRIGGER_TOKEN" \ + --header "content-type: application/json" \ + --data '{"branch":"'$CIRCLE_BRANCH'","parameters":{"e2e_workflow_cleanup":true,"setup":false,"e2e_workflow_cleanup_workflow_id":"'$CIRCLE_WORKFLOW_ID'"}}' + wait_for_all: + docker: + - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - run: + name: Wait for all required jobs to finish + command: > + while [[ $(curl --location --request GET + "https://circleci.com/api/v2/workflow/$CIRCLE_WORKFLOW_ID/job" + --header "Circle-Token: $CIRCLECI_TOKEN"| jq -r + '.items[]|select(.name != "wait_for_all")|.status' | grep -c + "running") -gt 0 ]] + do + sleep 60 + done + no_output_timeout: 180m + linux_a_0: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/amplify-app.test.ts|src/__tests__/amplify-configure.test.ts|src/__tests__/analytics-2.test.ts" + CLI_REGION: us-east-1 + linux_a_1: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/analytics.test.ts|src/__tests__/api_1.test.ts|src/__tests__/api_10.test.ts" + CLI_REGION: ap-southeast-2 + linux_a_2: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_2.test.ts|src/__tests__/api_3.test.ts|src/__tests__/api_4.test.ts" + CLI_REGION: us-west-2 + linux_a_3: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_5.test.ts|src/__tests__/api_6a.test.ts|src/__tests__/api_6b.test.ts" + CLI_REGION: us-east-1 + linux_a_4: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_7.test.ts|src/__tests__/api_8.test.ts|src/__tests__/api_9a.test.ts" + CLI_REGION: us-east-2 + linux_a_5: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_9b.test.ts|src/__tests__/apigw.test.ts|src/__tests__/auth_10.test.ts" + CLI_REGION: us-east-1 + linux_a_6: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_11.test.ts|src/__tests__/auth_1a.test.ts|src/__tests__/auth_1b.test.ts" + CLI_REGION: us-east-1 + linux_a_7: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_1c.test.ts|src/__tests__/auth_2a.test.ts|src/__tests__/auth_2b.test.ts" + CLI_REGION: ap-northeast-1 + linux_a_8: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_2c.test.ts|src/__tests__/auth_2d.test.ts|src/__tests__/auth_2e.test.ts" + CLI_REGION: ap-southeast-1 + linux_a_9: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_2f.test.ts|src/__tests__/auth_3a.test.ts|src/__tests__/auth_3b.test.ts" + CLI_REGION: ap-southeast-2 + linux_a_10: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_3c.test.ts|src/__tests__/auth_4a.test.ts|src/__tests__/auth_4b.test.ts" + CLI_REGION: us-east-2 + linux_a_11: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_4c.test.ts|src/__tests__/auth_5a.test.ts|src/__tests__/auth_5b.test.ts" + CLI_REGION: us-west-2 + linux_a_12: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_5c.test.ts|src/__tests__/auth_5d.test.ts|src/__tests__/auth_5e.test.ts" + CLI_REGION: us-east-2 + linux_a_13: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_5f.test.ts|src/__tests__/auth_6.test.ts|src/__tests__/auth_7a.test.ts" + CLI_REGION: us-east-1 + linux_a_14: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_7b.test.ts|src/__tests__/auth_8a.test.ts|src/__tests__/auth_8b.test.ts" + CLI_REGION: us-east-1 + linux_a_15: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_8c.test.ts|src/__tests__/auth_9.test.ts|src/__tests__/auth-trigger.test.ts" + CLI_REGION: us-west-2 + linux_c_16: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/configure-project.test.ts|src/__tests__/container-hosting.test.ts|src/__tests__/containers-api-1.test.ts" + CLI_REGION: us-west-2 + linux_c_17: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/containers-api-2.test.ts|src/__tests__/containers-api-secrets.test.ts|src/__tests__/custom_policies_container.test.ts" + CLI_REGION: ap-southeast-1 + linux_c_18: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/custom_policies_function.test.ts|src/__tests__/custom_resources.test.ts|src/__tests__/datastore-modelgen.test.ts" + CLI_REGION: us-west-2 + linux_d_19: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/delete.test.ts|src/__tests__/diagnose.test.ts|src/__tests__/env-1.test.ts" + CLI_REGION: us-east-2 + linux_e_20: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/env-2.test.ts|src/__tests__/env-3.test.ts|src/__tests__/env-4.test.ts" + CLI_REGION: us-east-1 + linux_e_21: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/env-5.test.ts|src/__tests__/export-pull-a.test.ts|src/__tests__/export-pull-b.test.ts" + CLI_REGION: ap-southeast-1 + linux_e_22: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/export-pull-c.test.ts|src/__tests__/export-pull-d.test.ts|src/__tests__/export.test.ts" + CLI_REGION: us-west-2 + linux_f_23: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/feature-flags.test.ts|src/__tests__/frontend_config_drift.test.ts|src/__tests__/function_1.test.ts" + CLI_REGION: us-east-2 + linux_f_24: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_10.test.ts|src/__tests__/function_11.test.ts|src/__tests__/function_2a.test.ts" + CLI_REGION: us-east-1 + linux_f_25: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_2b.test.ts|src/__tests__/function_2c.test.ts|src/__tests__/function_3a.test.ts" + CLI_REGION: us-east-1 + linux_f_26: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_3b.test.ts|src/__tests__/function_4.test.ts|src/__tests__/function_5.test.ts" + CLI_REGION: ap-southeast-1 + linux_f_27: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_6.test.ts|src/__tests__/function_7.test.ts|src/__tests__/function_8.test.ts" + CLI_REGION: eu-west-2 + linux_f_28: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_9a.test.ts|src/__tests__/function_9b.test.ts|src/__tests__/function_9c.test.ts" + CLI_REGION: ap-southeast-2 + linux_f_29: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function-permissions.test.ts|src/__tests__/geo-add-a.test.ts|src/__tests__/geo-add-b.test.ts" + CLI_REGION: us-east-1 + linux_g_30: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-add-c.test.ts|src/__tests__/geo-add-d.test.ts|src/__tests__/geo-add-e.test.ts" + CLI_REGION: eu-west-2 + linux_g_31: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-add-f.test.ts|src/__tests__/geo-headless.test.ts|src/__tests__/geo-import-1a.test.ts" + CLI_REGION: ap-southeast-2 + linux_g_32: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-import-1b.test.ts|src/__tests__/geo-import-2.test.ts|src/__tests__/geo-import-3.test.ts" + CLI_REGION: us-east-1 + linux_g_33: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-multi-env.test.ts|src/__tests__/geo-remove-1.test.ts|src/__tests__/geo-remove-2.test.ts" + CLI_REGION: ap-southeast-1 + linux_g_34: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-remove-3.test.ts|src/__tests__/geo-update-1.test.ts|src/__tests__/geo-update-2.test.ts" + CLI_REGION: us-west-2 + linux_g_35: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/git-clone-attach.test.ts|src/__tests__/global_sandbox-a.test.ts|src/__tests__/global_sandbox-b.test.ts" + CLI_REGION: eu-central-1 + linux_g_36: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/global_sandbox-c.test.ts|src/__tests__/graphql-v2/api_lambda_auth_1.test.ts|src/__tests__/graphql-v2/api_lambda_auth_2.test.ts" + CLI_REGION: us-east-2 + linux_c_37: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/graphql-v2/custom-transformers.test.ts|src/__tests__/graphql-v2/searchable-datastore.test.ts|src/__tests__/hooks-a.test.ts" + CLI_REGION: ap-southeast-2 + linux_h_38: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/hooks-b.test.ts|src/__tests__/hosting.test.ts|src/__tests__/hostingPROD.test.ts" + CLI_REGION: ap-southeast-1 + linux_i_39: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/iam-permissions-boundary.test.ts|src/__tests__/import_auth_1a.test.ts|src/__tests__/import_auth_1b.test.ts" + CLI_REGION: ap-southeast-2 + linux_i_40: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/import_auth_2a.test.ts|src/__tests__/import_auth_2b.test.ts|src/__tests__/import_auth_3.test.ts" + CLI_REGION: ap-southeast-1 + linux_i_41: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/import_dynamodb_1.test.ts|src/__tests__/import_dynamodb_2a.test.ts|src/__tests__/import_dynamodb_2b.test.ts" + CLI_REGION: ap-southeast-1 + linux_i_42: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/import_dynamodb_2c.test.ts|src/__tests__/import_s3_1.test.ts|src/__tests__/import_s3_2a.test.ts" + CLI_REGION: us-west-2 + linux_i_43: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/import_s3_2b.test.ts|src/__tests__/import_s3_2c.test.ts|src/__tests__/import_s3_3.test.ts" + CLI_REGION: us-east-2 + linux_i_44: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init_a.test.ts|src/__tests__/init_b.test.ts|src/__tests__/init_c.test.ts" + CLI_REGION: us-east-1 + linux_i_45: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init_d.test.ts|src/__tests__/init_e.test.ts|src/__tests__/init_f.test.ts" + CLI_REGION: ap-northeast-1 + linux_i_46: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init-special-case.test.ts|src/__tests__/interactions.test.ts|src/__tests__/layer-1.test.ts" + CLI_REGION: us-west-2 + linux_l_47: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/layer-2.test.ts|src/__tests__/layer-3.test.ts|src/__tests__/layer-4.test.ts" + CLI_REGION: eu-west-2 + linux_a_48: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/api.connection.migration.test.ts|src/__tests__/migration/api.connection.migration2.test.ts|src/__tests__/migration/api.key.migration1.test.ts" + CLI_REGION: us-west-2 + linux_a_49: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/api.key.migration2.test.ts|src/__tests__/migration/api.key.migration3.test.ts|src/__tests__/migration/api.key.migration4.test.ts" + CLI_REGION: ap-southeast-2 + linux_a_50: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/api.key.migration5.test.ts|src/__tests__/migration/node.function.test.ts|src/__tests__/mock-api.test.ts" + CLI_REGION: us-west-2 + linux_n_51: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts|src/__tests__/notifications-analytics-compatibility-in-app-2.test.ts|src/__tests__/notifications-analytics-compatibility-sms-1.test.ts" + CLI_REGION: eu-central-1 + linux_n_52: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/notifications-analytics-compatibility-sms-2.test.ts|src/__tests__/notifications-apns.test.ts|src/__tests__/notifications-fcm.test.ts" + CLI_REGION: ap-southeast-1 + linux_n_53: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/notifications-in-app-messaging-env-1.test.ts|src/__tests__/notifications-in-app-messaging-env-2.test.ts|src/__tests__/notifications-in-app-messaging.test.ts" + CLI_REGION: eu-central-1 + linux_n_54: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/notifications-lifecycle.test.ts|src/__tests__/notifications-sms-pull.test.ts|src/__tests__/notifications-sms.test.ts" + CLI_REGION: us-east-1 + linux_p_55: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/plugin.test.ts|src/__tests__/predictions.test.ts|src/__tests__/pull.test.ts" + CLI_REGION: us-east-1 + linux_r_56: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/resolvers.test.ts|src/__tests__/s3-sse.test.ts|src/__tests__/schema-auth-10.test.ts" + CLI_REGION: us-east-2 + linux_s_57: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-11-a.test.ts|src/__tests__/schema-auth-11-b.test.ts|src/__tests__/schema-auth-11-c.test.ts" + CLI_REGION: ap-southeast-1 + linux_s_58: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-12.test.ts|src/__tests__/schema-auth-13.test.ts|src/__tests__/schema-auth-14.test.ts" + CLI_REGION: us-east-1 + linux_s_59: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-15.test.ts|src/__tests__/schema-auth-1a.test.ts|src/__tests__/schema-auth-1b.test.ts" + CLI_REGION: us-east-1 + linux_s_60: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-2a.test.ts|src/__tests__/schema-auth-2b.test.ts|src/__tests__/schema-auth-3.test.ts" + CLI_REGION: us-east-2 + linux_s_61: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-4a.test.ts|src/__tests__/schema-auth-4b.test.ts|src/__tests__/schema-auth-4c.test.ts" + CLI_REGION: us-east-2 + linux_s_62: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-4d.test.ts|src/__tests__/schema-auth-5a.test.ts|src/__tests__/schema-auth-5b.test.ts" + CLI_REGION: ap-southeast-2 + linux_s_63: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-5c.test.ts|src/__tests__/schema-auth-5d.test.ts|src/__tests__/schema-auth-6a.test.ts" + CLI_REGION: us-east-2 + linux_s_64: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-6b.test.ts|src/__tests__/schema-auth-6c.test.ts|src/__tests__/schema-auth-6d.test.ts" + CLI_REGION: eu-central-1 + linux_s_65: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-7a.test.ts|src/__tests__/schema-auth-7b.test.ts|src/__tests__/schema-auth-7c.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_66: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-8a.test.ts|src/__tests__/schema-auth-8b.test.ts|src/__tests__/schema-auth-8c.test.ts" + CLI_REGION: us-east-1 + linux_s_67: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-9-a.test.ts|src/__tests__/schema-auth-9-b.test.ts|src/__tests__/schema-auth-9-c.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_68: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-connection-1.test.ts|src/__tests__/schema-connection-2.test.ts|src/__tests__/schema-data-access-patterns.test.ts" + CLI_REGION: us-west-2 + linux_s_69: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-function-1.test.ts|src/__tests__/schema-function-2.test.ts|src/__tests__/schema-iterative-rollback-1.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_70: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-iterative-rollback-2.test.ts|src/__tests__/schema-iterative-update-1.test.ts|src/__tests__/schema-iterative-update-2.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_71: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-iterative-update-3.test.ts|src/__tests__/schema-iterative-update-4.test.ts|src/__tests__/schema-iterative-update-locking.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_72: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-key.test.ts|src/__tests__/schema-model-a.test.ts|src/__tests__/schema-model-b.test.ts" + CLI_REGION: us-west-2 + linux_s_73: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-model-c.test.ts|src/__tests__/schema-model-d.test.ts|src/__tests__/schema-model-e.test.ts" + CLI_REGION: us-east-2 + linux_s_74: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-predictions.test.ts|src/__tests__/schema-searchable.test.ts|src/__tests__/schema-versioned.test.ts" + CLI_REGION: ap-southeast-2 + linux_s_75: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/storage-1.test.ts|src/__tests__/storage-2.test.ts|src/__tests__/storage-3.test.ts" + CLI_REGION: ap-southeast-1 + linux_s_76: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/storage-4.test.ts|src/__tests__/storage-5.test.ts|src/__tests__/studio-modelgen.test.ts" + CLI_REGION: ap-northeast-1 + linux_t_77: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/tags.test.ts|src/__tests__/transformer-migrations/auth-migration.test.ts|src/__tests__/transformer-migrations/function-migration.test.ts" + CLI_REGION: us-east-2 + linux_h_78: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/transformer-migrations/http-migration.test.ts|src/__tests__/transformer-migrations/model-migration.test.ts|src/__tests__/transformer-migrations/predictions-migration.test.ts" + CLI_REGION: ap-northeast-1 + linux_s_79: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/transformer-migrations/searchable-migration.test.ts|src/__tests__/uibuilder.test.ts|src/__tests__/with-babel-config.test.ts" + CLI_REGION: ap-southeast-1 + win_a_0: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/amplify-configure.test.ts|src/__tests__/analytics.test.ts|src/__tests__/api_1.test.ts" + CLI_REGION: ap-northeast-1 + win_a_1: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_10.test.ts|src/__tests__/api_3.test.ts|src/__tests__/api_4.test.ts" + CLI_REGION: ap-southeast-2 + win_a_2: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_6a.test.ts|src/__tests__/api_6b.test.ts|src/__tests__/api_7.test.ts" + CLI_REGION: ap-southeast-1 + win_a_3: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/api_8.test.ts|src/__tests__/api_9a.test.ts|src/__tests__/api_9b.test.ts" + CLI_REGION: eu-west-2 + win_a_4: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/apigw.test.ts|src/__tests__/auth_10.test.ts|src/__tests__/auth_11.test.ts" + CLI_REGION: ap-northeast-1 + win_a_5: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_1a.test.ts|src/__tests__/auth_1b.test.ts|src/__tests__/auth_1c.test.ts" + CLI_REGION: eu-central-1 + win_a_6: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_2a.test.ts|src/__tests__/auth_2b.test.ts|src/__tests__/auth_2c.test.ts" + CLI_REGION: us-east-1 + win_a_7: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_2d.test.ts|src/__tests__/auth_2e.test.ts|src/__tests__/auth_2f.test.ts" + CLI_REGION: eu-west-2 + win_a_8: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_3a.test.ts|src/__tests__/auth_3b.test.ts|src/__tests__/auth_3c.test.ts" + CLI_REGION: ap-southeast-1 + win_a_9: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_4a.test.ts|src/__tests__/auth_4b.test.ts|src/__tests__/auth_4c.test.ts" + CLI_REGION: us-east-1 + win_a_10: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_5a.test.ts|src/__tests__/auth_5b.test.ts|src/__tests__/auth_5c.test.ts" + CLI_REGION: ap-southeast-2 + win_a_11: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_5d.test.ts|src/__tests__/auth_5e.test.ts|src/__tests__/auth_5f.test.ts" + CLI_REGION: us-west-2 + win_a_12: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_6.test.ts|src/__tests__/auth_7a.test.ts|src/__tests__/auth_7b.test.ts" + CLI_REGION: us-west-2 + win_a_13: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_8a.test.ts|src/__tests__/auth_8b.test.ts|src/__tests__/auth_8c.test.ts" + CLI_REGION: us-east-1 + win_a_14: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/auth_9.test.ts|src/__tests__/auth-trigger.test.ts|src/__tests__/configure-project.test.ts" + CLI_REGION: eu-west-2 + win_c_15: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/container-hosting.test.ts|src/__tests__/containers-api-1.test.ts|src/__tests__/containers-api-2.test.ts" + CLI_REGION: ap-southeast-1 + win_c_16: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/containers-api-secrets.test.ts|src/__tests__/custom_policies_container.test.ts|src/__tests__/custom_policies_function.test.ts" + CLI_REGION: us-east-1 + win_c_17: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/custom_resources.test.ts|src/__tests__/env-1.test.ts|src/__tests__/env-3.test.ts" + CLI_REGION: eu-central-1 + win_e_18: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/env-4.test.ts|src/__tests__/env-5.test.ts|src/__tests__/export-pull-a.test.ts" + CLI_REGION: eu-central-1 + win_e_19: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/export-pull-b.test.ts|src/__tests__/export-pull-c.test.ts|src/__tests__/export-pull-d.test.ts" + CLI_REGION: ap-northeast-1 + win_f_20: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/feature-flags.test.ts|src/__tests__/frontend_config_drift.test.ts|src/__tests__/function_10.test.ts" + CLI_REGION: ap-northeast-1 + win_f_21: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_11.test.ts|src/__tests__/function_2a.test.ts|src/__tests__/function_2b.test.ts" + CLI_REGION: us-west-2 + win_f_22: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_2c.test.ts|src/__tests__/function_5.test.ts|src/__tests__/function_9a.test.ts" + CLI_REGION: ap-northeast-1 + win_f_23: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/function_9b.test.ts|src/__tests__/function_9c.test.ts|src/__tests__/function-permissions.test.ts" + CLI_REGION: eu-west-2 + win_g_24: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-add-a.test.ts|src/__tests__/geo-add-b.test.ts|src/__tests__/geo-add-c.test.ts" + CLI_REGION: eu-central-1 + win_g_25: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-add-d.test.ts|src/__tests__/geo-headless.test.ts|src/__tests__/geo-import-1a.test.ts" + CLI_REGION: eu-central-1 + win_g_26: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-import-1b.test.ts|src/__tests__/geo-import-2.test.ts|src/__tests__/geo-import-3.test.ts" + CLI_REGION: us-west-2 + win_g_27: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/geo-multi-env.test.ts|src/__tests__/geo-remove-1.test.ts|src/__tests__/global_sandbox-a.test.ts" + CLI_REGION: ap-northeast-1 + win_g_28: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/global_sandbox-b.test.ts|src/__tests__/global_sandbox-c.test.ts|src/__tests__/graphql-v2/api_lambda_auth_1.test.ts" + CLI_REGION: us-east-2 + win_a_29: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/graphql-v2/api_lambda_auth_2.test.ts|src/__tests__/graphql-v2/custom-transformers.test.ts|src/__tests__/graphql-v2/searchable-datastore.test.ts" + CLI_REGION: us-west-2 + win_h_30: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/hooks-b.test.ts|src/__tests__/hosting.test.ts|src/__tests__/hostingPROD.test.ts" + CLI_REGION: ap-southeast-1 + win_i_31: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/iam-permissions-boundary.test.ts|src/__tests__/import_dynamodb_1.test.ts|src/__tests__/import_dynamodb_2b.test.ts" + CLI_REGION: us-east-1 + win_i_32: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/import_s3_1.test.ts|src/__tests__/import_s3_2b.test.ts|src/__tests__/import_s3_3.test.ts" + CLI_REGION: us-east-2 + win_i_33: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init_a.test.ts|src/__tests__/init_b.test.ts|src/__tests__/init_c.test.ts" + CLI_REGION: eu-west-2 + win_i_34: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init_d.test.ts|src/__tests__/init_e.test.ts|src/__tests__/init_f.test.ts" + CLI_REGION: us-east-2 + win_i_35: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/init-special-case.test.ts|src/__tests__/interactions.test.ts|src/__tests__/layer-1.test.ts" + CLI_REGION: us-west-2 + win_l_36: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/layer-3.test.ts|src/__tests__/layer-4.test.ts|src/__tests__/migration/api.connection.migration.test.ts" + CLI_REGION: ap-southeast-2 + win_a_37: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/api.connection.migration2.test.ts|src/__tests__/migration/api.key.migration1.test.ts|src/__tests__/migration/api.key.migration2.test.ts" + CLI_REGION: eu-west-2 + win_a_38: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/api.key.migration3.test.ts|src/__tests__/migration/api.key.migration4.test.ts|src/__tests__/migration/api.key.migration5.test.ts" + CLI_REGION: ap-northeast-1 + win_n_39: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/migration/node.function.test.ts|src/__tests__/notifications-analytics-compatibility-in-app-2.test.ts|src/__tests__/notifications-apns.test.ts" + CLI_REGION: us-west-2 + win_n_40: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/notifications-fcm.test.ts|src/__tests__/notifications-in-app-messaging.test.ts|src/__tests__/plugin.test.ts" + CLI_REGION: us-east-2 + win_p_41: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/predictions.test.ts|src/__tests__/resolvers.test.ts|src/__tests__/s3-sse.test.ts" + CLI_REGION: eu-central-1 + win_s_42: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-10.test.ts|src/__tests__/schema-auth-11-a.test.ts|src/__tests__/schema-auth-11-b.test.ts" + CLI_REGION: eu-west-2 + win_s_43: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-11-c.test.ts|src/__tests__/schema-auth-12.test.ts|src/__tests__/schema-auth-13.test.ts" + CLI_REGION: us-east-1 + win_s_44: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-14.test.ts|src/__tests__/schema-auth-15.test.ts|src/__tests__/schema-auth-1a.test.ts" + CLI_REGION: us-east-1 + win_s_45: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-1b.test.ts|src/__tests__/schema-auth-2a.test.ts|src/__tests__/schema-auth-2b.test.ts" + CLI_REGION: ap-northeast-1 + win_s_46: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-3.test.ts|src/__tests__/schema-auth-4a.test.ts|src/__tests__/schema-auth-4b.test.ts" + CLI_REGION: us-east-1 + win_s_47: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-4c.test.ts|src/__tests__/schema-auth-4d.test.ts|src/__tests__/schema-auth-5a.test.ts" + CLI_REGION: eu-central-1 + win_s_48: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-5b.test.ts|src/__tests__/schema-auth-5c.test.ts|src/__tests__/schema-auth-5d.test.ts" + CLI_REGION: ap-northeast-1 + win_s_49: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-6a.test.ts|src/__tests__/schema-auth-6b.test.ts|src/__tests__/schema-auth-6c.test.ts" + CLI_REGION: ap-northeast-1 + win_s_50: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-6d.test.ts|src/__tests__/schema-auth-7a.test.ts|src/__tests__/schema-auth-7b.test.ts" + CLI_REGION: ap-southeast-1 + win_s_51: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-7c.test.ts|src/__tests__/schema-auth-8a.test.ts|src/__tests__/schema-auth-8b.test.ts" + CLI_REGION: ap-northeast-1 + win_s_52: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-8c.test.ts|src/__tests__/schema-auth-9-a.test.ts|src/__tests__/schema-auth-9-b.test.ts" + CLI_REGION: ap-northeast-1 + win_s_53: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-auth-9-c.test.ts|src/__tests__/schema-connection-1.test.ts|src/__tests__/schema-connection-2.test.ts" + CLI_REGION: us-east-1 + win_s_54: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-data-access-patterns.test.ts|src/__tests__/schema-function-1.test.ts|src/__tests__/schema-function-2.test.ts" + CLI_REGION: us-west-2 + win_s_55: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-iterative-update-1.test.ts|src/__tests__/schema-iterative-update-2.test.ts|src/__tests__/schema-iterative-update-3.test.ts" + CLI_REGION: eu-west-2 + win_s_56: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-iterative-update-4.test.ts|src/__tests__/schema-iterative-update-locking.test.ts|src/__tests__/schema-key.test.ts" + CLI_REGION: eu-west-2 + win_s_57: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-model-a.test.ts|src/__tests__/schema-model-b.test.ts|src/__tests__/schema-model-c.test.ts" + CLI_REGION: eu-central-1 + win_s_58: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-model-d.test.ts|src/__tests__/schema-model-e.test.ts|src/__tests__/schema-predictions.test.ts" + CLI_REGION: ap-northeast-1 + win_s_59: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/schema-searchable.test.ts|src/__tests__/schema-versioned.test.ts|src/__tests__/storage-1.test.ts" + CLI_REGION: ap-southeast-2 + win_s_60: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/storage-2.test.ts|src/__tests__/storage-3.test.ts|src/__tests__/storage-4.test.ts" + CLI_REGION: ap-southeast-1 + win_t_61: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/tags.test.ts|src/__tests__/transformer-migrations/auth-migration.test.ts|src/__tests__/transformer-migrations/function-migration.test.ts" + CLI_REGION: us-west-2 + win_h_62: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/transformer-migrations/http-migration.test.ts|src/__tests__/transformer-migrations/model-migration.test.ts|src/__tests__/transformer-migrations/predictions-migration.test.ts" + CLI_REGION: ap-southeast-2 + win_s_63: + parameters: + os: + type: executor + default: l_medium + executor: << parameters.os >> + working_directory: ~/repo + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - attach_workspace: + at: ~/. + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-build-artifact-{{ .Revision }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - rename_binary_for_windows: + os: << parameters.os >> + - install_packaged_cli: + os: << parameters.os >> + - run_e2e_tests: + os: << parameters.os >> + - scan_e2e_test_artifacts: + os: << parameters.os >> + - store_test_results: + path: ~/repo/packages/amplify-e2e-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports + environment: + TEST_SUITE: >- + "src/__tests__/transformer-migrations/searchable-migration.test.ts|src/__tests__/with-babel-config.test.ts" + CLI_REGION: ap-southeast-1 + notifications-migration-2_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration-3_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration-4_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts + CLI_REGION: us-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts + CLI_REGION: eu-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-key-migration-2_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts + CLI_REGION: eu-central-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-key-migration_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts + CLI_REGION: ap-northeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api_migration_update_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/api_migration_update.test.ts + CLI_REGION: ap-southeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth_migration_update_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/auth_migration_update.test.ts + CLI_REGION: ap-southeast-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + function_migration_update_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/function_migration_update.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + storage_migration_update_v5: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/storage_migration_update.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v5.2.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration-2_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration-3_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration-4_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts + CLI_REGION: us-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + notifications-migration_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts + CLI_REGION: eu-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-migration-a_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-a.test.ts + CLI_REGION: eu-central-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-migration-b_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-b.test.ts + CLI_REGION: ap-northeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-migration-c_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-c.test.ts + CLI_REGION: ap-southeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-migration-d_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-d.test.ts + CLI_REGION: ap-southeast-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + apigw-ext-migration_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/apigw-ext-migration.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth-migration-a_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-a.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth-migration-b_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-b.test.ts + CLI_REGION: us-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth-migration-c_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-c.test.ts + CLI_REGION: eu-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth-migration-d_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-d.test.ts + CLI_REGION: eu-central-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth-migration-e_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-e.test.ts + CLI_REGION: ap-northeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + init-migration_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/migration_tests/overrides/init-migration.test.ts + CLI_REGION: ap-southeast-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-key-migration-2_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts + CLI_REGION: ap-southeast-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api-key-migration_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + api_migration_update_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/api_migration_update.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + auth_migration_update_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/auth_migration_update.test.ts + CLI_REGION: us-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + function_migration_update_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/function_migration_update.test.ts + CLI_REGION: eu-west-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + storage_migration_update_v6: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify + TEST_SUITE: src/__tests__/update_tests/storage_migration_update.test.ts + CLI_REGION: eu-central-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v6.1.0 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + dotnet_runtime_update_migration_v10: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify + TEST_SUITE: >- + src/__tests__/migration_tests_v10/dotnet_runtime_update_migration.test.ts + CLI_REGION: us-east-1 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v10.5.1 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + unset IS_AMPLIFY_CI + echo $IS_AMPLIFY_CI + retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo + scaffold_v10: + parameters: + os: + type: executor + default: l_large + executor: << parameters.os >> + environment: + AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify + TEST_SUITE: src/__tests__/migration_tests_v10/scaffold.test.ts + CLI_REGION: us-east-2 + steps: + - restore_cache: + key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} + - restore_cache: + key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} + - restore_cache: + key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} + - run: + name: Run tests migrating from CLI v10.5.1 + command: | + source .circleci/local_publish_helpers.sh + changeNpmGlobalPath + cd packages/amplify-migration-tests + unset IS_AMPLIFY_CI + echo $IS_AMPLIFY_CI + retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE + no_output_timeout: 90m + - run: + name: Scan And Cleanup E2E Test Artifacts + no_output_timeout: 90m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always + - store_test_results: + path: ~/repo/packages/amplify-migration-tests/ + - store_artifacts: + path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports + working_directory: ~/repo +workflows: + version: 3 + build_test_deploy_v3: + jobs: + - build: + filters: + branches: + ignore: + - beta + - build_windows_workspace_for_e2e: + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + - lint: + requires: + - build + filters: + branches: + ignore: + - beta + - release + - /release_rc\/.*/ + - /tagged-release-without-e2e-tests\/.*/ + - verify-api-extract: + requires: + - build + filters: + branches: + ignore: + - beta + - release + - /release_rc\/.*/ + - /tagged-release-without-e2e-tests\/.*/ + - verify-versions-match: + requires: + - publish_to_local_registry + - test: + requires: + - build + filters: + branches: + ignore: + - beta + - release + - /release_rc\/.*/ + - /tagged-release-without-e2e-tests\/.*/ + - mock_e2e_tests: + requires: + - build + filters: + branches: + ignore: + - beta + - release + - /tagged-release-without-e2e-tests\/.*/ + - integration_test: + context: + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - build + - publish_to_local_registry: + requires: + - build + - upload_pkg_binaries: + filters: + branches: + only: + - dev + - release + - /release_rc\/.*/ + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /tagged-release-without-e2e-tests\/.*/ + - /run-e2e\/.*/ + context: + - e2e-auth-credentials + - e2e-test-context + - amplify-s3-upload + requires: + - build_pkg_binaries_linux + - build_pkg_binaries_macos + - build_pkg_binaries_win + - build_pkg_binaries_arm + - build_pkg_binaries_linux: + requires: + - publish_to_local_registry + - build_pkg_binaries_macos: + requires: + - publish_to_local_registry + - build_pkg_binaries_win: + requires: + - publish_to_local_registry + - build_pkg_binaries_arm: + requires: + - publish_to_local_registry + - verify_pkg_binaries: + requires: + - build_pkg_binaries_linux + - build_pkg_binaries_macos + - build_pkg_binaries_win + - build_pkg_binaries_arm + - amplify_sudo_install_test: + context: amplify-ecr-image-pull + requires: + - upload_pkg_binaries + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + - cleanup_resources: + context: + - cleanup-resources + - e2e-test-context + requires: + - build + filters: + branches: + only: + - dev + - /tagged-release\/.*/ + - /run-e2e\/.*/ + - amplify_migration_tests_non_multi_env_layers: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - amplify_migration_tests_multi_env_layers: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - amplify_console_integration_tests: + context: + - e2e-auth-credentials + - cleanup-resources + - console-e2e-test + - e2e-test-context + filters: + branches: + only: + - dev + requires: + - upload_pkg_binaries + - github_prerelease: + context: github-publish + requires: + - upload_pkg_binaries + filters: + branches: + only: + - release + - github_prerelease_install_sanity_check: + requires: + - github_prerelease + filters: + branches: + only: + - release + - wait_for_all: + context: + - cleanup-resources + - e2e-test-context + requires: + - build + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + - trigger_e2e_workflow_cleanup: + context: + - cleanup-resources + - e2e-test-context + requires: + - wait_for_all + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + - deploy: + context: + - e2e-auth-credentials + - e2e-test-context + - amplify-s3-upload + - npm-publish + requires: + - test + - mock_e2e_tests + - integration_test + - amplify_sudo_install_test + - amplify_console_integration_tests + - amplify_migration_tests_non_multi_env_layers + - amplify_migration_tests_multi_env_layers + - github_prerelease_install_sanity_check + - upload_pkg_binaries + - verify-versions-match + - linux_a_0 + - linux_a_3 + - linux_a_5 + - linux_a_6 + - linux_a_13 + - linux_a_14 + - linux_e_20 + - linux_f_24 + - linux_f_25 + - linux_f_29 + - linux_g_32 + - linux_i_44 + - linux_n_54 + - linux_p_55 + - linux_s_58 + - linux_s_59 + - linux_s_66 + - win_a_6 + - win_a_9 + - win_a_13 + - win_c_16 + - win_i_31 + - win_s_43 + - win_s_44 + - win_s_46 + - win_s_53 + - linux_a_1 + - linux_a_9 + - linux_f_28 + - linux_g_31 + - linux_c_37 + - linux_i_39 + - linux_a_49 + - linux_s_62 + - linux_s_74 + - win_a_1 + - win_a_10 + - win_l_36 + - win_s_59 + - win_h_62 + - linux_a_2 + - linux_a_11 + - linux_a_15 + - linux_c_16 + - linux_c_18 + - linux_e_22 + - linux_g_34 + - linux_i_42 + - linux_i_46 + - linux_a_48 + - linux_a_50 + - linux_s_68 + - linux_s_72 + - win_a_11 + - win_a_12 + - win_f_21 + - win_g_26 + - win_a_29 + - win_i_35 + - win_n_39 + - win_s_54 + - win_t_61 + - linux_a_4 + - linux_a_10 + - linux_a_12 + - linux_d_19 + - linux_f_23 + - linux_g_36 + - linux_i_43 + - linux_r_56 + - linux_s_60 + - linux_s_61 + - linux_s_63 + - linux_s_73 + - linux_t_77 + - win_g_28 + - win_i_32 + - win_i_34 + - win_n_40 + - linux_a_7 + - linux_i_45 + - linux_s_65 + - linux_s_67 + - linux_s_69 + - linux_s_70 + - linux_s_71 + - linux_s_76 + - linux_h_78 + - win_a_0 + - win_a_4 + - win_e_19 + - win_f_20 + - win_f_22 + - win_g_27 + - win_a_38 + - win_s_45 + - win_s_48 + - win_s_49 + - win_s_51 + - win_s_52 + - win_s_58 + - linux_a_8 + - linux_c_17 + - linux_e_21 + - linux_f_26 + - linux_g_33 + - linux_h_38 + - linux_i_40 + - linux_i_41 + - linux_n_52 + - linux_s_57 + - linux_s_75 + - linux_s_79 + - win_a_2 + - win_a_8 + - win_c_15 + - win_h_30 + - win_s_50 + - win_s_60 + - win_s_63 + - linux_f_27 + - linux_g_30 + - linux_l_47 + - win_a_3 + - win_a_7 + - win_a_14 + - win_f_23 + - win_i_33 + - win_a_37 + - win_s_42 + - win_s_55 + - win_s_56 + - linux_g_35 + - linux_n_51 + - linux_n_53 + - linux_s_64 + - win_a_5 + - win_c_17 + - win_e_18 + - win_g_24 + - win_g_25 + - win_p_41 + - win_s_47 + - win_s_57 + - notifications-migration-2_v5 + - function_migration_update_v5 + - notifications-migration-3_v5 + - storage_migration_update_v5 + - notifications-migration-4_v5 + - notifications-migration_v5 + - api-key-migration-2_v5 + - api-key-migration_v5 + - api_migration_update_v5 + - auth_migration_update_v5 + - notifications-migration-2_v6 + - apigw-ext-migration_v6 + - api-key-migration_v6 + - notifications-migration-3_v6 + - auth-migration-a_v6 + - api_migration_update_v6 + - notifications-migration-4_v6 + - auth-migration-b_v6 + - auth_migration_update_v6 + - notifications-migration_v6 + - auth-migration-c_v6 + - function_migration_update_v6 + - api-migration-a_v6 + - auth-migration-d_v6 + - storage_migration_update_v6 + - api-migration-b_v6 + - auth-migration-e_v6 + - api-migration-c_v6 + - init-migration_v6 + - api-migration-d_v6 + - api-key-migration-2_v6 + - dotnet_runtime_update_migration_v10 + - scaffold_v10 + filters: + branches: + only: + - release + - /release_rc\/.*/ + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /tagged-release-without-e2e-tests\/.*/ + - github_release: + context: github-publish + requires: + - deploy + filters: + branches: + only: + - release + - linux_a_0: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_3: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_5: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_6: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_13: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_14: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_e_20: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_24: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_25: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_29: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_32: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_44: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_n_54: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_p_55: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_58: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_59: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_66: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_6: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_9: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_13: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_c_16: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_i_31: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_43: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_44: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_46: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_53: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_a_1: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_9: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_28: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_31: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_c_37: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_39: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_49: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_62: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_74: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_1: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_10: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_l_36: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_59: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_h_62: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_a_2: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_11: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_15: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_c_16: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_c_18: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_e_22: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_34: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_42: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_46: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_48: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_50: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_68: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_72: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_11: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_12: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_f_21: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_g_26: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_29: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_i_35: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_n_39: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_54: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_t_61: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_a_4: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_10: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_a_12: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_d_19: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_23: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_36: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_43: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_r_56: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_60: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_61: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_63: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_73: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_t_77: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_g_28: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_i_32: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_i_34: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_n_40: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_a_7: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_45: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_65: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_67: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_69: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_70: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_71: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_76: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_h_78: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_0: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_4: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_e_19: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_f_20: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_f_22: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_g_27: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_38: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_45: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_48: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_49: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_51: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_52: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_58: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_a_8: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_c_17: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_e_21: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_f_26: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_33: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_h_38: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_40: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_i_41: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_n_52: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_57: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_75: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_79: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_2: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_8: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_c_15: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_h_30: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_50: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_60: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_63: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_f_27: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_g_30: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_l_47: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_3: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_7: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_14: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_f_23: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_i_33: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_a_37: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_42: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_55: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_56: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - linux_g_35: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_n_51: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_n_53: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - linux_s_64: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - win_a_5: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_c_17: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_e_18: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_g_24: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_g_25: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_p_41: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_47: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - win_s_57: + context: + - cleanup-resources + - e2e-auth-credentials + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + - build_windows_workspace_for_e2e + matrix: + parameters: + os: + - w_medium + - notifications-migration-2_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - function_migration_update_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration-3_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - storage_migration_update_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration-4_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-key-migration-2_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-key-migration_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api_migration_update_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth_migration_update_v5: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration-2_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - apigw-ext-migration_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-key-migration_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration-3_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth-migration-a_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api_migration_update_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - notifications-migration-4_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth-migration-b_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth_migration_update_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - notifications-migration_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth-migration-c_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - function_migration_update_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-migration-a_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_large + - auth-migration-d_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - storage_migration_update_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-migration-b_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - auth-migration-e_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-migration-c_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - init-migration_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-migration-d_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - api-key-migration-2_v6: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - dotnet_runtime_update_migration_v10: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium + - scaffold_v10: + context: + - e2e-auth-credentials + - cleanup-resources + - e2e-test-context + filters: + branches: + only: + - dev + - /run-e2e-with-rc\/.*/ + - /tagged-release\/.*/ + - /run-e2e\/.*/ + requires: + - upload_pkg_binaries + matrix: + parameters: + os: + - l_medium +commands: + install_packaged_cli: + description: Install Amplify Packaged CLI to PATH + parameters: + os: + type: executor + default: l_large + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - run: + shell: powershell.exe + name: Rename the Packaged CLI to amplify + command: | + # rename the command to amplify + cd /home/circleci/repo/out + cp amplify-pkg-win-x64.exe amplify.exe + - run: + shell: powershell.exe + name: Move to CLI Binary to already existing PATH + command: > + # This is a Hack to make sure the Amplify CLI is in the PATH + + cp /home/circleci/repo/out/amplify.exe + $env:homedrive\$env:homepath\AppData\Local\Microsoft\WindowsApps + - run: + name: Confirm Amplify CLI is installed and available in PATH + command: amplify version + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - run: + name: Symlink Amplify packaged CLI + command: | + cd out + ln -sf amplify-pkg-linux-x64 amplify + echo "export PATH=$AMPLIFY_DIR:$PATH" >> $BASH_ENV + source $BASH_ENV + - run: + name: Confirm Amplify CLI is installed and available in PATH + command: amplify version + rename_binary_for_windows: + description: Rename binary for windows + parameters: + os: + type: executor + default: w_medium + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - run: + shell: powershell.exe + command: >- + cp /home/circleci/repo/out/amplify-pkg-win-x64.exe + $env:homedrive\$env:homepath\AppData\Local\Microsoft\WindowsApps\amplify.exe + run_e2e_tests: + description: Run Amplify E2E tests + parameters: + os: + type: executor + default: l_medium + steps: + - when: + condition: + equal: + - machine: + image: windows-server-2019-vs2019:stable + resource_class: windows.medium + shell: bash.exe + working_directory: ~/repo + environment: + AMPLIFY_DIR: C:/home/circleci/repo/out + AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe + - << parameters.os >> + steps: + - run: + name: Run E2e Tests + shell: bash.exe + command: > + source .circleci/local_publish_helpers.sh + + cd packages/amplify-e2e-tests + + retry yarn run e2e --force-exit --detectOpenHandles + --maxWorkers=3 $TEST_SUITE + no_output_timeout: 60m + - when: + condition: + or: + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + - equal: + - docker: + - image: >- + public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest + working_directory: ~/repo + resource_class: medium + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 + - << parameters.os >> + steps: + - run: + name: Run E2e Tests + command: | + source .circleci/local_publish_helpers.sh + source $BASH_ENV + amplify version + retry runE2eTest + no_output_timeout: 90m + scan_e2e_test_artifacts: + description: Scan And Cleanup E2E Test Artifacts + parameters: + os: + type: executor + default: l_large + steps: + - run: + name: Scan E2E artifacts + no_output_timeout: 2m + command: | + if ! yarn ts-node .circleci/scan_artifacts.ts; then + echo "Cleaning the repository" + git clean -fdx + exit 1 + fi + when: always diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts new file mode 100644 index 00000000000..d5567fccc2a --- /dev/null +++ b/scripts/split-e2e-tests-v2.ts @@ -0,0 +1,250 @@ +import { + CircleCIConfig, + WorkflowJob, + repoRoot, + generateJobName as oldJobName, + WINDOWS_TEST_SKIP_LIST, + USE_PARENT_ACCOUNT, + AWS_REGIONS_TO_RUN_TESTS as regions, + FORCE_US_WEST_2, + getTestFiles, + getLastBatchJobs, + replaceWorkflowDependency, + removeWorkflowJob +} from "./split-e2e-tests"; +const TEST_EXCLUSIONS: { l: string[], w: string[] } = { + l: [], + w: [ + 'amplify-app_pkg', + 'analytics-2_pkg', + 'api_2_pkg', + 'api_5_pkg', + 'datastore-modelgen_pkg', + 'delete_pkg', + 'diagnose_pkg', + 'env-2_pkg', + 'export_pkg', + 'function_1_pkg', + 'function_3a_pkg', + 'function_3b_pkg', + 'function_4_pkg', + 'function_6_pkg', + 'function_7_pkg', + 'function_8_pkg', + 'geo-add-e_pkg', + 'geo-add-f_pkg', + 'geo-remove-2_pkg', + 'geo-remove-3_pkg', + 'geo-update-1_pkg', + 'geo-update-2_pkg', + 'git-clone-attach_pkg', + 'hooks-a_pkg', + 'import_auth_1a_pkg', + 'import_auth_1b_pkg', + 'import_auth_2a_pkg', + 'import_auth_2b_pkg', + 'import_auth_3_pkg', + 'import_dynamodb_2a_pkg', + 'import_dynamodb_2c_pkg', + 'import_s3_2a_pkg', + 'import_s3_2c_pkg', + 'layer-2_pkg', + 'mock-api_pkg', + 'notifications-analytics-compatibility-in-app-1_pkg', + 'notifications-analytics-compatibility-sms-1_pkg', + 'notifications-analytics-compatibility-sms-2_pkg', + 'notifications-in-app-messaging-env-1_pkg', + 'notifications-in-app-messaging-env-2_pkg', + 'notifications-lifecycle_pkg', + 'notifications-sms_pkg', + 'notifications-sms-pull_pkg', + 'pull_pkg', + 'schema-iterative-rollback-1_pkg', + 'schema-iterative-rollback-2_pkg', + 'storage-5_pkg', + 'studio-modelgen_pkg', + 'uibuilder_pkg', + ], +} +const MAX_TESTS_PER_JOB = 3; +type OS_TYPE = 'w' | 'l'; +type CandidateJob = { + region: string, + os: OS_TYPE, + executor: string, + tests: string[], + // intentially leaving this here - accounts are randomly assigned to jobs + // by a via local_publish_helpers.sh script + // account: string, +} +type Job = CandidateJob & { + name: string; + requiredJobs: string[]; +} + +const createRandomJob = (os: OS_TYPE) : CandidateJob => { + const region = regions[Math.floor(Math.random() * regions.length)]; + return { + region, + os, + executor: os === 'l' ? 'l_large' : 'w_medium', + tests: [] + } +} + + +const getShortNameForTestSuite = ( + testSuitePath: string): string => { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); +} +// const splitPkgTests = splitTests( +// config, +// 'amplify_e2e_tests_pkg', +// 'build_test_deploy_v3', +// join(repoRoot, 'packages', 'amplify-e2e-tests'), +// CONCURRENCY, +// undefined +// ); +export const splitTestsV2 = function splitTests( + config: Readonly, + baseJobName: string, + workflowName: string, + jobRootDir: string, + pickTests: ((testSuites: string[]) => string[]) | undefined, + ): CircleCIConfig { + const output: CircleCIConfig = { ...config }; + const baseJobs = { ...config.jobs }; + const baseJob = baseJobs[baseJobName]; + + let testSuites = getTestFiles(jobRootDir); + if(pickTests && typeof pickTests === 'function'){ + testSuites = pickTests(testSuites); + } + if(testSuites.length === 0){ + return output; + } + + const generateJobsForOS = (os: OS_TYPE) => { + const osJobs = [createRandomJob(os)]; + for(let test of testSuites){ + const currentJob = osJobs[osJobs.length - 1]; + + // if the current test is excluded from this OS, skip it + const oldName = oldJobName(baseJobName, test); + if(TEST_EXCLUSIONS[os].find(excluded => oldName === excluded)) { + continue; + } + + // some tests only run on us-west-2, we can just switch the region + if(FORCE_US_WEST_2.find(t => oldName.startsWith(t))){ + currentJob.region = 'us-west-2'; + } + + // add the test + currentJob.tests.push(test); + + // create a new job once the current job is full + if(currentJob.tests.length >= MAX_TESTS_PER_JOB){ + osJobs.push(createRandomJob(os)); + } + } + return osJobs; + } + const linuxJobs = generateJobsForOS('l'); + const windowsJobs = generateJobsForOS('w'); + + // create the new job configurations, which will be added to the "jobs" + // section of the CircleCI config file + let newJobConfigurations = {}; + const generateJobConfigurations = (jobs: CandidateJob[]) => { + let index = 0; + for(let j of jobs){ + if(j.tests.length === 0){ + continue; + } + const firstTestName = getShortNameForTestSuite(j.tests[0]); + const jobName = `${j.os === 'l' ? 'linux' : 'win'}_${firstTestName.charAt(0)}_${index}`; + newJobConfigurations = { + ...newJobConfigurations, + [jobName]: { + ...baseJob, + environment: { + ...(baseJob?.environment || {}), + TEST_SUITE: `"${j.tests.join('|')}"`, + CLI_REGION: j.region, + } + } + } + index ++; + } + } + generateJobConfigurations(linuxJobs); + generateJobConfigurations(windowsJobs); + + + // Spilt jobs by region + const jobByRegion = Object.entries(newJobConfigurations).reduce((acc: Record, entry: [string, any]) => { + const [jobName, job] = entry; + const region = job?.environment?.CLI_REGION; + const regionJobs = { ...acc[region], [jobName]: job }; + return { ...acc, [region]: regionJobs }; + }, {}); + + const workflows = { ...config.workflows }; + + if (workflows[workflowName]) { + const workflow = workflows[workflowName]; + + const workflowJob = workflow.jobs.find(j => { + if (typeof j === 'string') { + return j === baseJobName; + } else { + const name = Object.keys(j)[0]; + return name === baseJobName; + } + }); + + if (workflowJob) { + Object.values(jobByRegion).forEach(regionJobs => { + const newJobNames = Object.keys(regionJobs as object); + const jobs = newJobNames.map((newJobName, index) => { + if (typeof workflowJob === 'string') { + return newJobName; + } else { + let requiredJobs = workflowJob[baseJobName].requires || []; + // don't need to wait on windows if this is a linux test + if (newJobName.startsWith('l')) { + requiredJobs = requiredJobs.filter(j => j !== 'build_windows_workspace_for_e2e'); + } + return { + [newJobName]: { + ...Object.values(workflowJob)[0], + requires: requiredJobs, + matrix: { + parameters: { + os: newJobName.startsWith('l') ? ['l_large'] : ['w_medium'] + }, + }, + }, + }; + } + }); + workflow.jobs = [...workflow.jobs, ...jobs]; + }); + + const lastJobBatch = Object.values(jobByRegion) + .map(regionJobs => getLastBatchJobs(Object.keys(regionJobs as Object), 50)) + .reduce((acc, val) => acc.concat(val), []); + const filteredJobs = replaceWorkflowDependency(removeWorkflowJob(workflow.jobs, baseJobName), baseJobName, lastJobBatch); + workflow.jobs = filteredJobs; + } + output.workflows = workflows; + } + output.jobs = { + ...output.jobs, + ...newJobConfigurations, + }; + return output; + } \ No newline at end of file diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index 74e5455c173..3e1fe5a2acf 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -5,6 +5,7 @@ import * as yaml from 'js-yaml'; import { join } from 'path'; import { ARTIFACT_STORAGE_PATH_ALLOW_LIST } from './artifact-storage-path-allow-list'; import { migrationFromV10Tests, migrationFromV5Tests, migrationFromV6Tests } from './split-e2e-test-filters'; +import { splitTestsV2 } from './split-e2e-tests-v2'; const CONCURRENCY = 35; // Some our e2e tests are known to fail when run on windows hosts @@ -14,7 +15,7 @@ const CONCURRENCY = 35; // For now, this list is being used to skip creation of circleci jobs for these tasks // Todo: update the split test strategy to use parallelization so circleci results dont go over the limits of github payload size -const WINDOWS_TEST_SKIP_LIST: string[] = [ +export const WINDOWS_TEST_SKIP_LIST: string[] = [ 'amplify-app_pkg', 'analytics-2_pkg', 'api_migration_update_v5', @@ -129,7 +130,7 @@ const JOBS_RUNNING_ON_LINUX_LARGE_VM: string[] = [ ]; // Ensure to update packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts is also updated this gets updated -const AWS_REGIONS_TO_RUN_TESTS = [ +export const AWS_REGIONS_TO_RUN_TESTS = [ 'us-east-1', 'us-east-2', 'us-west-2', @@ -142,9 +143,9 @@ const AWS_REGIONS_TO_RUN_TESTS = [ // Some services (eg. amazon lex) are not available in all regions // Tests added to this list will always run in us-west-2 -const FORCE_US_WEST_2 = ['interactions']; +export const FORCE_US_WEST_2 = ['interactions']; -const USE_PARENT_ACCOUNT = [ +export const USE_PARENT_ACCOUNT = [ 'import_dynamodb_1', 'import_s3_1', 'searchable-migration', @@ -173,13 +174,13 @@ export type CircleCIConfig = { }; }; -const repoRoot = join(__dirname, '..'); +export const repoRoot = join(__dirname, '..'); -function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { +export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { return glob.sync(pattern, { cwd: dir }); } -function generateJobName(baseName: string, testSuitePath: string): string { +export function generateJobName(baseName: string, testSuitePath: string): string { const startIndex = testSuitePath.lastIndexOf('/') + 1; const endIndex = testSuitePath.lastIndexOf('.test'); let name = testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); @@ -308,7 +309,7 @@ function splitTests( * @param jobs - All the jobs in workflow * @param jobName - job that needs to be removed from workflow */ -function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] { +export function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] { return jobs.filter(j => { if (typeof j === 'string') { return j !== jobName; @@ -324,7 +325,7 @@ function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] * @param jobs array of job names * @param concurrency number of concurrent jobs */ -function getLastBatchJobs(jobs: string[], concurrency: number): string[] { +export function getLastBatchJobs(jobs: string[], concurrency: number): string[] { const lastBatchJobLength = Math.min(concurrency, jobs.length); const lastBatchJobNames = jobs.slice(jobs.length - lastBatchJobLength); return lastBatchJobNames; @@ -337,7 +338,7 @@ function getLastBatchJobs(jobs: string[], concurrency: number): string[] { * @param jobName - job to remove from requires * @param jobsToReplaceWith - jobs to add to requires */ -function replaceWorkflowDependency(jobs: WorkflowJob[], jobName: string, jobsToReplaceWith: string[]): WorkflowJob[] { +export function replaceWorkflowDependency(jobs: WorkflowJob[], jobName: string, jobsToReplaceWith: string[]): WorkflowJob[] { return jobs.map(j => { if (typeof j === 'string') return j; const [currentJobName, jobObj] = Object.entries(j)[0]; @@ -448,12 +449,19 @@ function main(): void { validateArtifactStoragePaths(config); - const splitPkgTests = splitTests( + // const splitPkgTests = splitTests( + // config, + // 'amplify_e2e_tests_pkg', + // 'build_test_deploy_v3', + // join(repoRoot, 'packages', 'amplify-e2e-tests'), + // CONCURRENCY, + // undefined + // ); + const splitPkgTests = splitTestsV2( config, 'amplify_e2e_tests_pkg', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-e2e-tests'), - CONCURRENCY, undefined ); const splitGqlTests = splitTests( From 52979dee44659696a945e74839c19913b0cd6073 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 03:36:09 -0500 Subject: [PATCH 02/69] chore: add other tests and migration too --- packages/amplify-opensearch-simulator/API.md | 2 -- scripts/split-e2e-tests-v2.ts | 8 ++++- scripts/split-e2e-tests.ts | 31 +++++++++----------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/packages/amplify-opensearch-simulator/API.md b/packages/amplify-opensearch-simulator/API.md index f5f3bbe729b..089b42fa9ef 100644 --- a/packages/amplify-opensearch-simulator/API.md +++ b/packages/amplify-opensearch-simulator/API.md @@ -4,8 +4,6 @@ ```ts -/// - import { $TSAny } from 'amplify-cli-core'; import execa from 'execa'; import { GetPackageAssetPaths } from 'amplify-cli-core'; diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index d5567fccc2a..5ee621f790c 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -109,9 +109,11 @@ const getShortNameForTestSuite = ( // ); export const splitTestsV2 = function splitTests( config: Readonly, + jobTag: string, baseJobName: string, workflowName: string, jobRootDir: string, + isMigration: boolean, pickTests: ((testSuites: string[]) => string[]) | undefined, ): CircleCIConfig { const output: CircleCIConfig = { ...config }; @@ -127,6 +129,10 @@ export const splitTestsV2 = function splitTests( } const generateJobsForOS = (os: OS_TYPE) => { + // migration tests are not supported for windows + if(isMigration && os === 'w'){ + return []; + } const osJobs = [createRandomJob(os)]; for(let test of testSuites){ const currentJob = osJobs[osJobs.length - 1]; @@ -165,7 +171,7 @@ export const splitTestsV2 = function splitTests( continue; } const firstTestName = getShortNameForTestSuite(j.tests[0]); - const jobName = `${j.os === 'l' ? 'linux' : 'win'}_${firstTestName.charAt(0)}_${index}`; + const jobName = `${j.os}_${jobTag}_${firstTestName.charAt(0)}_${index}`; newJobConfigurations = { ...newJobConfigurations, [jobName]: { diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index 3e1fe5a2acf..2f9871c6939 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -448,56 +448,53 @@ function main(): void { const config = loadConfig(); validateArtifactStoragePaths(config); - - // const splitPkgTests = splitTests( - // config, - // 'amplify_e2e_tests_pkg', - // 'build_test_deploy_v3', - // join(repoRoot, 'packages', 'amplify-e2e-tests'), - // CONCURRENCY, - // undefined - // ); const splitPkgTests = splitTestsV2( config, + 'e2e', 'amplify_e2e_tests_pkg', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-e2e-tests'), + false, undefined ); - const splitGqlTests = splitTests( + const splitGqlTests = splitTestsV2( splitPkgTests, + 'gql', 'graphql_e2e_tests', 'build_test_deploy_v3', join(repoRoot, 'packages', 'graphql-transformers-e2e-tests'), - CONCURRENCY, + false, undefined ); - const splitV5MigrationTests = splitTests( + const splitV5MigrationTests = splitTestsV2( splitGqlTests, + 'migrationV5', 'amplify_migration_tests_v5', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), - CONCURRENCY, + true, (tests: string[]) => { return tests.filter(testName => migrationFromV5Tests.find((t) => t === testName)); } ); - const splitV6MigrationTests = splitTests( + const splitV6MigrationTests = splitTestsV2( splitV5MigrationTests, + 'migrationV6', 'amplify_migration_tests_v6', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), - CONCURRENCY, + true, (tests: string[]) => { return tests.filter(testName => migrationFromV6Tests.find((t) => t === testName)); } ); - const splitV10MigrationTests = splitTests( + const splitV10MigrationTests = splitTestsV2( splitV6MigrationTests, + 'migrationV10', 'amplify_migration_tests_v10', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), - CONCURRENCY, + true, (tests: string[]) => { return tests.filter(testName => migrationFromV10Tests.find((t) => t === testName)); } From dc391711bbd3bf0ca7e8bca2bcad696cc7a542bf Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 03:51:57 -0500 Subject: [PATCH 03/69] chore: cleanup --- scripts/split-e2e-tests-v2.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 5ee621f790c..5912e37c0c0 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -178,7 +178,7 @@ export const splitTestsV2 = function splitTests( ...baseJob, environment: { ...(baseJob?.environment || {}), - TEST_SUITE: `"${j.tests.join('|')}"`, + TEST_SUITE: j.tests.join('|'), CLI_REGION: j.region, } } From d5600795766885590c455b0f6adf8baab086ab17 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 04:05:24 -0500 Subject: [PATCH 04/69] chore: cleanup --- scripts/split-e2e-tests.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index 2f9871c6939..0b9ddd3cf9c 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -457,17 +457,8 @@ function main(): void { false, undefined ); - const splitGqlTests = splitTestsV2( - splitPkgTests, - 'gql', - 'graphql_e2e_tests', - 'build_test_deploy_v3', - join(repoRoot, 'packages', 'graphql-transformers-e2e-tests'), - false, - undefined - ); const splitV5MigrationTests = splitTestsV2( - splitGqlTests, + splitPkgTests, 'migrationV5', 'amplify_migration_tests_v5', 'build_test_deploy_v3', From 0a19d69db1f6c1d38c158b734992727381154233 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 04:08:58 -0500 Subject: [PATCH 05/69] chore: cleanup unused e2e tests --- .circleci/config.base.yml | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index d0841ca6a25..cdb58a9b23c 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -384,25 +384,7 @@ jobs: command: | source .circleci/local_publish_helpers.sh verifyPkgCli - - graphql_e2e_tests: - <<: *defaults - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run GraphQL end-to-end tests - command: | - source .circleci/local_publish_helpers.sh - cd packages/graphql-transformers-e2e-tests/ - retry yarn e2e --maxWorkers=3 $TEST_SUITE - environment: - AMPLIFY_CLI_DISABLE_LOGGING: 'true' - no_output_timeout: 90m - - store_test_results: - path: ~/repo/packages/graphql-transformers-e2e-tests/ + amplify_sudo_install_test: <<: *defaults steps: @@ -947,18 +929,6 @@ workflows: - beta - release - /tagged-release-without-e2e-tests\/.*/ - - graphql_e2e_tests: - context: - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - integration_test: context: - e2e-test-context @@ -1184,7 +1154,6 @@ workflows: requires: - test - mock_e2e_tests - - graphql_e2e_tests - integration_test - amplify_e2e_tests_pkg - amplify_sudo_install_test From 00ea81516d98e0f90f073bc41fcd33e70f765a5f Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 04:13:00 -0500 Subject: [PATCH 06/69] chore: remove generated file --- .circleci/generated_config_v2.yml | 16828 ---------------------------- 1 file changed, 16828 deletions(-) delete mode 100644 .circleci/generated_config_v2.yml diff --git a/.circleci/generated_config_v2.yml b/.circleci/generated_config_v2.yml deleted file mode 100644 index d06bc9bd4d3..00000000000 --- a/.circleci/generated_config_v2.yml +++ /dev/null @@ -1,16828 +0,0 @@ -# auto generated file. Edit config.base.yaml if you want to change -version: 2.1 -orbs: - aws-ecr: circleci/aws-ecr@6.15.3 -machine: - environment: - PATH: ${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin -parameters: - nightly_console_integration_tests: - type: boolean - default: false - setup: - type: boolean - default: true -executors: - w_medium: - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - w_xlarge: - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.xlarge - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - l_xlarge: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: xlarge - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - l_large: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - l_medium: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 -defaults: - working_directory: ~/repo - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> -scan_e2e_test_artifacts: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always -install_cli_from_local_registry: - name: Start verdaccio, install node CLI and amplify-app - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - npm install -g @aws-amplify/cli - npm install -g amplify-app - unsetNpmRegistryUrl -jobs: - build: - parameters: - os: - type: executor - default: l_xlarge - executor: l_xlarge - steps: - - checkout - - run: yarn config set script-shell $(which bash) - - run: yarn run production-build - - run: - name: Build tests - command: yarn build-tests - - save_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo - - save_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - paths: - - ~/.cache - - save_cache: - key: amplify-cli-ssh-deps-{{ .Branch }} - paths: - - ~/.ssh - build_windows_workspace_for_e2e: - parameters: - os: - type: executor - default: w_xlarge - executor: w_xlarge - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.xlarge - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - checkout - - run: yarn config set script-shell $(which bash) - - run: yarn run production-build - - run: - name: Build tests - command: yarn build-tests - - persist_to_workspace: - root: ~/. - paths: - - repo - - .cache - - .ssh - test: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: xlarge - environment: - NODE_OPTIONS: '--max-old-space-size=4096' - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run tests - command: yarn test-ci - - run: - name: Collect code coverage - command: yarn coverage - lint: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: chmod +x .circleci/lint_pr.sh && ./.circleci/lint_pr.sh - verify-api-extract: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: xlarge - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: extract api - command: | - yarn verify-api-extract - verify-versions-match: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: verify versions match - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - checkPackageVersionsInLocalNpmRegistry - mock_e2e_tests: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run Transformer end-to-end tests with mock server - command: | - source .circleci/local_publish_helpers.sh - cd packages/amplify-util-mock/ - yarn e2e - no_output_timeout: 90m - environment: - JEST_JUNIT_OUTPUT: reports/junit/js-test-results.xml - - store_test_results: - path: ~/repo/packages/amplify-util-mock/ - publish_to_local_registry: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Publish to verdaccio - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - export LOCAL_PUBLISH_TO_LATEST=true - ./.circleci/publish.sh - unsetNpmRegistryUrl - - run: - name: Generate unified changelog - command: | - git reset --soft HEAD~1 - yarn ts-node scripts/unified-changelog.ts - cat UNIFIED_CHANGELOG.md - - run: - name: Save new amplify GitHub tag - command: node scripts/echo-current-cli-version.js > .amplify-pkg-version - - save_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - paths: - - ~/verdaccio-cache/ - - save_cache: - key: amplify-unified-changelog-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/UNIFIED_CHANGELOG.md - - save_cache: - key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/.amplify-pkg-version - upload_pkg_binaries: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} - - run: - name: Consolidate binaries cache and upload - command: | - source .circleci/local_publish_helpers.sh - uploadPkgCli - - save_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/out - build_pkg_binaries_linux: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: Start verdaccio and package CLI - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - generatePkgCli linux - unsetNpmRegistryUrl - - save_cache: - key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/out - build_pkg_binaries_macos: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: Start verdaccio and package CLI - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - generatePkgCli macos - unsetNpmRegistryUrl - - save_cache: - key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/out - build_pkg_binaries_win: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: Start verdaccio and package CLI - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - generatePkgCli win - unsetNpmRegistryUrl - - save_cache: - key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/out - build_pkg_binaries_arm: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: Start verdaccio and package CLI - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - generatePkgCli arm - unsetNpmRegistryUrl - - save_cache: - key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} - paths: - - ~/repo/out - verify_pkg_binaries: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-linux-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-macos-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-win-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-arm-{{ .Branch }}-{{ .Revision }} - - run: - name: Verify packaged CLI - command: | - source .circleci/local_publish_helpers.sh - verifyPkgCli - graphql_e2e_tests: - working_directory: ~/repo - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run GraphQL end-to-end tests - command: | - source .circleci/local_publish_helpers.sh - cd packages/graphql-transformers-e2e-tests/ - retry yarn e2e --maxWorkers=3 $TEST_SUITE - environment: - AMPLIFY_CLI_DISABLE_LOGGING: 'true' - no_output_timeout: 90m - - store_test_results: - path: ~/repo/packages/graphql-transformers-e2e-tests/ - amplify_sudo_install_test: - working_directory: ~/repo - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Update OS Packages - command: sudo apt-get update - - run: - name: Start verdaccio and Install Amplify CLI as sudo - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setSudoNpmRegistryUrlToLocal - changeSudoNpmGlobalPath - sudo npm install -g @aws-amplify/cli - unsetSudoNpmRegistryUrl - amplify version - amplify_e2e_tests_pkg: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - amplify_migration_tests_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - amplify_migration_tests_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - amplify_migration_tests_v10: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v10.5.1 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - unset IS_AMPLIFY_CI - echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - amplify_migration_tests_non_multi_env_layers: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run tests migrating from CLI v4.28.2 - command: > - source .circleci/local_publish_helpers.sh - - changeNpmGlobalPath - - cd packages/amplify-migration-tests - - retry yarn run migration_v4.28.2_nonmultienv_layers --maxWorkers=3 - $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - amplify_migration_tests_multi_env_layers: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v4.52.0 - command: > - source .circleci/local_publish_helpers.sh - - changeNpmGlobalPath - - cd packages/amplify-migration-tests - - retry yarn run migration_v4.52.0_multienv_layers --maxWorkers=3 - $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - amplify_console_integration_tests: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: - name: Start verdaccio, install node CLI and amplify-app - command: | - source .circleci/local_publish_helpers.sh - startLocalRegistry "$(pwd)/.circleci/verdaccio.yaml" - setNpmRegistryUrlToLocal - changeNpmGlobalPath - npm install -g @aws-amplify/cli - npm install -g amplify-app - unsetNpmRegistryUrl - - run: - command: | - echo "export PATH=~/.npm-global/bin:$PATH" >> $BASH_ENV - source $BASH_ENV - source .circleci/local_publish_helpers.sh - amplify -v - cd packages/amplify-console-integration-tests - retry yarn run console-integration --maxWorkers=3 - name: Run Amplify Console integration tests - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-console-integration-tests/ - - store_artifacts: - path: >- - ~/repo/packages/amplify-console-integration-tests/console-integration-reports - working_directory: ~/repo - integration_test: - working_directory: /home/circleci/repo - resource_class: large - docker: - - image: cypress/base:14.17.0 - environment: - TERM: dumb - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - run: cd .circleci/ && chmod +x aws.sh - - run: - name: Setup Dependencies - command: | - apt-get update - apt-get install -y sudo - sudo apt-get install -y tcl - sudo apt-get install -y expect - sudo apt-get install -y zip - sudo apt-get install -y lsof - sudo apt-get install -y python python-pip libpython-dev - sudo apt-get install -y jq - pip install awscli - - run: expect .circleci/aws_configure.exp - - run: - name: Configure Amplify CLI - command: > - yarn rm-dev-link && yarn link-dev && yarn rm-aa-dev-link && yarn - link-aa-dev - - echo 'export PATH="$(yarn global bin):$PATH"' >> $BASH_ENV - - amplify-dev - - run: - name: Clone auth test package - command: | - cd .. - git clone $AUTH_CLONE_URL - cd aws-amplify-cypress-auth - yarn --cache-folder ~/.cache/yarn - yarn add cypress@6.8.0 --save - - run: cd .circleci/ && chmod +x auth.sh - - run: cd .circleci/ && chmod +x amplify_init.sh - - run: cd .circleci/ && chmod +x amplify_init.exp - - run: expect .circleci/amplify_init.exp ../aws-amplify-cypress-auth - - run: expect .circleci/enable_auth.exp - - run: cd ../aws-amplify-cypress-auth - - run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn - - run: >- - cd ../aws-amplify-cypress-auth/src && cat $(find . -type f -name - 'aws-exports*') - - run: - name: Start Auth test server in background - command: | - cd ../aws-amplify-cypress-auth - pwd - yarn start - background: true - - run: cat $(find ../repo -type f -name 'auth_spec*') - - run: - name: Run cypress tests for auth - command: | - cd ../aws-amplify-cypress-auth - cp ../repo/cypress.json . - cp -R ../repo/cypress . - yarn cypress run --spec $(find . -type f -name 'auth_spec*') - - run: sudo kill -9 $(lsof -t -i:3000) - - run: cd .circleci/ && chmod +x delete_auth.sh - - run: expect .circleci/delete_auth.exp - - run: - name: Clone API test package - command: | - cd .. - git clone $API_CLONE_URL - cd aws-amplify-cypress-api - yarn --cache-folder ~/.cache/yarn - - run: cd .circleci/ && chmod +x api.sh - - run: expect .circleci/amplify_init.exp ../aws-amplify-cypress-api - - run: expect .circleci/enable_api.exp - - run: cd ../aws-amplify-cypress-api - - run: yarn --frozen-lockfile --cache-folder ~/.cache/yarn - - run: >- - cd ../aws-amplify-cypress-api/src && cat $(find . -type f -name - 'aws-exports*') - - run: - name: Start API test server in background - command: | - cd ../aws-amplify-cypress-api - pwd - yarn start - background: true - - run: - name: Run cypress tests for api - command: | - cd ../aws-amplify-cypress-api - yarn add cypress@6.8.0 --save - cp ../repo/cypress.json . - cp -R ../repo/cypress . - yarn cypress run --spec $(find . -type f -name 'api_spec*') - - run: cd .circleci/ && chmod +x delete_api.sh - - run: expect .circleci/delete_api.exp - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_artifacts: - path: ~/aws-amplify-cypress-auth/cypress/videos - - store_artifacts: - path: ~/aws-amplify-cypress-auth/cypress/screenshots - - store_artifacts: - path: ~/aws-amplify-cypress-api/cypress/videos - - store_artifacts: - path: ~/aws-amplify-cypress-api/cypress/screenshots - deploy: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - keys: - - amplify-cli-ssh-deps-{{ .Branch }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Upload Pkg Binary - command: | - source .circleci/local_publish_helpers.sh - uploadPkgCli - ./out/amplify-pkg-linux-x64 --version - - run: - name: Authenticate with npm - command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc - - run: - name: Publish Amplify CLI - command: | - bash ./.circleci/publish.sh - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - github_prerelease: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-unified-changelog-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} - - run: - name: Compress binaries - command: | - cd out - mv amplify-pkg-macos-x64 amplify-pkg-macos - mv amplify-pkg-linux-x64 amplify-pkg-linux - mv amplify-pkg-win-x64.exe amplify-pkg-win.exe - tar zcvf amplify-pkg-macos.tgz amplify-pkg-macos - tar zcvf amplify-pkg-linux.tgz amplify-pkg-linux - tar zcvf amplify-pkg-win.exe.tgz amplify-pkg-win.exe - - run: - name: Publish Amplify CLI GitHub prerelease - command: | - commit=$(git rev-parse HEAD) - version=$(cat .amplify-pkg-version) - yarn ts-node scripts/github-prerelease.ts $version $commit - github_prerelease_install_sanity_check: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} - - run: - name: Install packaged Amplify CLI - command: > - version=$(cat .amplify-pkg-version) - - curl -sL https://aws-amplify.github.io/amplify-cli/install | - version=v$version bash - - echo "export PATH=$PATH:$HOME/.amplify/bin" >> $BASH_ENV - - run: - name: Sanity check install - command: | - amplify version - github_release: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplfiy-pkg-tag-{{ .Branch }}-{{ .Revision }} - - run: - name: Publish Amplify CLI GitHub release - command: | - commit=$(git rev-parse HEAD) - version=$(cat .amplify-pkg-version) - yarn ts-node scripts/github-release.ts $version $commit - cleanup_resources: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Run cleanup script - command: | - cd packages/amplify-e2e-tests - yarn clean-e2e-resources - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - trigger_e2e_workflow_cleanup: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - run: - name: Trigger Cleanup for this Workflow - command: | - echo "Triggering cleanup for Workflow $CIRCLE_WORKFLOW_ID" - curl --request POST \ - --url https://circleci.com/api/v2/project/gh/aws-amplify/amplify-cli/pipeline \ - --header "Circle-Token: $AMPLIFY_CLI_CIRCLECI_TRIGGER_TOKEN" \ - --header "content-type: application/json" \ - --data '{"branch":"'$CIRCLE_BRANCH'","parameters":{"e2e_workflow_cleanup":true,"setup":false,"e2e_workflow_cleanup_workflow_id":"'$CIRCLE_WORKFLOW_ID'"}}' - wait_for_all: - docker: - - image: public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - run: - name: Wait for all required jobs to finish - command: > - while [[ $(curl --location --request GET - "https://circleci.com/api/v2/workflow/$CIRCLE_WORKFLOW_ID/job" - --header "Circle-Token: $CIRCLECI_TOKEN"| jq -r - '.items[]|select(.name != "wait_for_all")|.status' | grep -c - "running") -gt 0 ]] - do - sleep 60 - done - no_output_timeout: 180m - linux_a_0: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/amplify-app.test.ts|src/__tests__/amplify-configure.test.ts|src/__tests__/analytics-2.test.ts" - CLI_REGION: us-east-1 - linux_a_1: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/analytics.test.ts|src/__tests__/api_1.test.ts|src/__tests__/api_10.test.ts" - CLI_REGION: ap-southeast-2 - linux_a_2: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_2.test.ts|src/__tests__/api_3.test.ts|src/__tests__/api_4.test.ts" - CLI_REGION: us-west-2 - linux_a_3: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_5.test.ts|src/__tests__/api_6a.test.ts|src/__tests__/api_6b.test.ts" - CLI_REGION: us-east-1 - linux_a_4: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_7.test.ts|src/__tests__/api_8.test.ts|src/__tests__/api_9a.test.ts" - CLI_REGION: us-east-2 - linux_a_5: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_9b.test.ts|src/__tests__/apigw.test.ts|src/__tests__/auth_10.test.ts" - CLI_REGION: us-east-1 - linux_a_6: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_11.test.ts|src/__tests__/auth_1a.test.ts|src/__tests__/auth_1b.test.ts" - CLI_REGION: us-east-1 - linux_a_7: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_1c.test.ts|src/__tests__/auth_2a.test.ts|src/__tests__/auth_2b.test.ts" - CLI_REGION: ap-northeast-1 - linux_a_8: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_2c.test.ts|src/__tests__/auth_2d.test.ts|src/__tests__/auth_2e.test.ts" - CLI_REGION: ap-southeast-1 - linux_a_9: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_2f.test.ts|src/__tests__/auth_3a.test.ts|src/__tests__/auth_3b.test.ts" - CLI_REGION: ap-southeast-2 - linux_a_10: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_3c.test.ts|src/__tests__/auth_4a.test.ts|src/__tests__/auth_4b.test.ts" - CLI_REGION: us-east-2 - linux_a_11: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_4c.test.ts|src/__tests__/auth_5a.test.ts|src/__tests__/auth_5b.test.ts" - CLI_REGION: us-west-2 - linux_a_12: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_5c.test.ts|src/__tests__/auth_5d.test.ts|src/__tests__/auth_5e.test.ts" - CLI_REGION: us-east-2 - linux_a_13: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_5f.test.ts|src/__tests__/auth_6.test.ts|src/__tests__/auth_7a.test.ts" - CLI_REGION: us-east-1 - linux_a_14: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_7b.test.ts|src/__tests__/auth_8a.test.ts|src/__tests__/auth_8b.test.ts" - CLI_REGION: us-east-1 - linux_a_15: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_8c.test.ts|src/__tests__/auth_9.test.ts|src/__tests__/auth-trigger.test.ts" - CLI_REGION: us-west-2 - linux_c_16: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/configure-project.test.ts|src/__tests__/container-hosting.test.ts|src/__tests__/containers-api-1.test.ts" - CLI_REGION: us-west-2 - linux_c_17: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/containers-api-2.test.ts|src/__tests__/containers-api-secrets.test.ts|src/__tests__/custom_policies_container.test.ts" - CLI_REGION: ap-southeast-1 - linux_c_18: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/custom_policies_function.test.ts|src/__tests__/custom_resources.test.ts|src/__tests__/datastore-modelgen.test.ts" - CLI_REGION: us-west-2 - linux_d_19: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/delete.test.ts|src/__tests__/diagnose.test.ts|src/__tests__/env-1.test.ts" - CLI_REGION: us-east-2 - linux_e_20: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/env-2.test.ts|src/__tests__/env-3.test.ts|src/__tests__/env-4.test.ts" - CLI_REGION: us-east-1 - linux_e_21: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/env-5.test.ts|src/__tests__/export-pull-a.test.ts|src/__tests__/export-pull-b.test.ts" - CLI_REGION: ap-southeast-1 - linux_e_22: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/export-pull-c.test.ts|src/__tests__/export-pull-d.test.ts|src/__tests__/export.test.ts" - CLI_REGION: us-west-2 - linux_f_23: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/feature-flags.test.ts|src/__tests__/frontend_config_drift.test.ts|src/__tests__/function_1.test.ts" - CLI_REGION: us-east-2 - linux_f_24: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_10.test.ts|src/__tests__/function_11.test.ts|src/__tests__/function_2a.test.ts" - CLI_REGION: us-east-1 - linux_f_25: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_2b.test.ts|src/__tests__/function_2c.test.ts|src/__tests__/function_3a.test.ts" - CLI_REGION: us-east-1 - linux_f_26: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_3b.test.ts|src/__tests__/function_4.test.ts|src/__tests__/function_5.test.ts" - CLI_REGION: ap-southeast-1 - linux_f_27: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_6.test.ts|src/__tests__/function_7.test.ts|src/__tests__/function_8.test.ts" - CLI_REGION: eu-west-2 - linux_f_28: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_9a.test.ts|src/__tests__/function_9b.test.ts|src/__tests__/function_9c.test.ts" - CLI_REGION: ap-southeast-2 - linux_f_29: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function-permissions.test.ts|src/__tests__/geo-add-a.test.ts|src/__tests__/geo-add-b.test.ts" - CLI_REGION: us-east-1 - linux_g_30: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-add-c.test.ts|src/__tests__/geo-add-d.test.ts|src/__tests__/geo-add-e.test.ts" - CLI_REGION: eu-west-2 - linux_g_31: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-add-f.test.ts|src/__tests__/geo-headless.test.ts|src/__tests__/geo-import-1a.test.ts" - CLI_REGION: ap-southeast-2 - linux_g_32: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-import-1b.test.ts|src/__tests__/geo-import-2.test.ts|src/__tests__/geo-import-3.test.ts" - CLI_REGION: us-east-1 - linux_g_33: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-multi-env.test.ts|src/__tests__/geo-remove-1.test.ts|src/__tests__/geo-remove-2.test.ts" - CLI_REGION: ap-southeast-1 - linux_g_34: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-remove-3.test.ts|src/__tests__/geo-update-1.test.ts|src/__tests__/geo-update-2.test.ts" - CLI_REGION: us-west-2 - linux_g_35: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/git-clone-attach.test.ts|src/__tests__/global_sandbox-a.test.ts|src/__tests__/global_sandbox-b.test.ts" - CLI_REGION: eu-central-1 - linux_g_36: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/global_sandbox-c.test.ts|src/__tests__/graphql-v2/api_lambda_auth_1.test.ts|src/__tests__/graphql-v2/api_lambda_auth_2.test.ts" - CLI_REGION: us-east-2 - linux_c_37: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/graphql-v2/custom-transformers.test.ts|src/__tests__/graphql-v2/searchable-datastore.test.ts|src/__tests__/hooks-a.test.ts" - CLI_REGION: ap-southeast-2 - linux_h_38: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/hooks-b.test.ts|src/__tests__/hosting.test.ts|src/__tests__/hostingPROD.test.ts" - CLI_REGION: ap-southeast-1 - linux_i_39: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/iam-permissions-boundary.test.ts|src/__tests__/import_auth_1a.test.ts|src/__tests__/import_auth_1b.test.ts" - CLI_REGION: ap-southeast-2 - linux_i_40: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/import_auth_2a.test.ts|src/__tests__/import_auth_2b.test.ts|src/__tests__/import_auth_3.test.ts" - CLI_REGION: ap-southeast-1 - linux_i_41: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/import_dynamodb_1.test.ts|src/__tests__/import_dynamodb_2a.test.ts|src/__tests__/import_dynamodb_2b.test.ts" - CLI_REGION: ap-southeast-1 - linux_i_42: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/import_dynamodb_2c.test.ts|src/__tests__/import_s3_1.test.ts|src/__tests__/import_s3_2a.test.ts" - CLI_REGION: us-west-2 - linux_i_43: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/import_s3_2b.test.ts|src/__tests__/import_s3_2c.test.ts|src/__tests__/import_s3_3.test.ts" - CLI_REGION: us-east-2 - linux_i_44: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init_a.test.ts|src/__tests__/init_b.test.ts|src/__tests__/init_c.test.ts" - CLI_REGION: us-east-1 - linux_i_45: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init_d.test.ts|src/__tests__/init_e.test.ts|src/__tests__/init_f.test.ts" - CLI_REGION: ap-northeast-1 - linux_i_46: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init-special-case.test.ts|src/__tests__/interactions.test.ts|src/__tests__/layer-1.test.ts" - CLI_REGION: us-west-2 - linux_l_47: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/layer-2.test.ts|src/__tests__/layer-3.test.ts|src/__tests__/layer-4.test.ts" - CLI_REGION: eu-west-2 - linux_a_48: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/api.connection.migration.test.ts|src/__tests__/migration/api.connection.migration2.test.ts|src/__tests__/migration/api.key.migration1.test.ts" - CLI_REGION: us-west-2 - linux_a_49: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/api.key.migration2.test.ts|src/__tests__/migration/api.key.migration3.test.ts|src/__tests__/migration/api.key.migration4.test.ts" - CLI_REGION: ap-southeast-2 - linux_a_50: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/api.key.migration5.test.ts|src/__tests__/migration/node.function.test.ts|src/__tests__/mock-api.test.ts" - CLI_REGION: us-west-2 - linux_n_51: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts|src/__tests__/notifications-analytics-compatibility-in-app-2.test.ts|src/__tests__/notifications-analytics-compatibility-sms-1.test.ts" - CLI_REGION: eu-central-1 - linux_n_52: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/notifications-analytics-compatibility-sms-2.test.ts|src/__tests__/notifications-apns.test.ts|src/__tests__/notifications-fcm.test.ts" - CLI_REGION: ap-southeast-1 - linux_n_53: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/notifications-in-app-messaging-env-1.test.ts|src/__tests__/notifications-in-app-messaging-env-2.test.ts|src/__tests__/notifications-in-app-messaging.test.ts" - CLI_REGION: eu-central-1 - linux_n_54: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/notifications-lifecycle.test.ts|src/__tests__/notifications-sms-pull.test.ts|src/__tests__/notifications-sms.test.ts" - CLI_REGION: us-east-1 - linux_p_55: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/plugin.test.ts|src/__tests__/predictions.test.ts|src/__tests__/pull.test.ts" - CLI_REGION: us-east-1 - linux_r_56: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/resolvers.test.ts|src/__tests__/s3-sse.test.ts|src/__tests__/schema-auth-10.test.ts" - CLI_REGION: us-east-2 - linux_s_57: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-11-a.test.ts|src/__tests__/schema-auth-11-b.test.ts|src/__tests__/schema-auth-11-c.test.ts" - CLI_REGION: ap-southeast-1 - linux_s_58: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-12.test.ts|src/__tests__/schema-auth-13.test.ts|src/__tests__/schema-auth-14.test.ts" - CLI_REGION: us-east-1 - linux_s_59: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-15.test.ts|src/__tests__/schema-auth-1a.test.ts|src/__tests__/schema-auth-1b.test.ts" - CLI_REGION: us-east-1 - linux_s_60: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-2a.test.ts|src/__tests__/schema-auth-2b.test.ts|src/__tests__/schema-auth-3.test.ts" - CLI_REGION: us-east-2 - linux_s_61: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-4a.test.ts|src/__tests__/schema-auth-4b.test.ts|src/__tests__/schema-auth-4c.test.ts" - CLI_REGION: us-east-2 - linux_s_62: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-4d.test.ts|src/__tests__/schema-auth-5a.test.ts|src/__tests__/schema-auth-5b.test.ts" - CLI_REGION: ap-southeast-2 - linux_s_63: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-5c.test.ts|src/__tests__/schema-auth-5d.test.ts|src/__tests__/schema-auth-6a.test.ts" - CLI_REGION: us-east-2 - linux_s_64: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-6b.test.ts|src/__tests__/schema-auth-6c.test.ts|src/__tests__/schema-auth-6d.test.ts" - CLI_REGION: eu-central-1 - linux_s_65: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-7a.test.ts|src/__tests__/schema-auth-7b.test.ts|src/__tests__/schema-auth-7c.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_66: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-8a.test.ts|src/__tests__/schema-auth-8b.test.ts|src/__tests__/schema-auth-8c.test.ts" - CLI_REGION: us-east-1 - linux_s_67: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-9-a.test.ts|src/__tests__/schema-auth-9-b.test.ts|src/__tests__/schema-auth-9-c.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_68: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-connection-1.test.ts|src/__tests__/schema-connection-2.test.ts|src/__tests__/schema-data-access-patterns.test.ts" - CLI_REGION: us-west-2 - linux_s_69: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-function-1.test.ts|src/__tests__/schema-function-2.test.ts|src/__tests__/schema-iterative-rollback-1.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_70: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-iterative-rollback-2.test.ts|src/__tests__/schema-iterative-update-1.test.ts|src/__tests__/schema-iterative-update-2.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_71: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-iterative-update-3.test.ts|src/__tests__/schema-iterative-update-4.test.ts|src/__tests__/schema-iterative-update-locking.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_72: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-key.test.ts|src/__tests__/schema-model-a.test.ts|src/__tests__/schema-model-b.test.ts" - CLI_REGION: us-west-2 - linux_s_73: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-model-c.test.ts|src/__tests__/schema-model-d.test.ts|src/__tests__/schema-model-e.test.ts" - CLI_REGION: us-east-2 - linux_s_74: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-predictions.test.ts|src/__tests__/schema-searchable.test.ts|src/__tests__/schema-versioned.test.ts" - CLI_REGION: ap-southeast-2 - linux_s_75: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/storage-1.test.ts|src/__tests__/storage-2.test.ts|src/__tests__/storage-3.test.ts" - CLI_REGION: ap-southeast-1 - linux_s_76: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/storage-4.test.ts|src/__tests__/storage-5.test.ts|src/__tests__/studio-modelgen.test.ts" - CLI_REGION: ap-northeast-1 - linux_t_77: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/tags.test.ts|src/__tests__/transformer-migrations/auth-migration.test.ts|src/__tests__/transformer-migrations/function-migration.test.ts" - CLI_REGION: us-east-2 - linux_h_78: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/transformer-migrations/http-migration.test.ts|src/__tests__/transformer-migrations/model-migration.test.ts|src/__tests__/transformer-migrations/predictions-migration.test.ts" - CLI_REGION: ap-northeast-1 - linux_s_79: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/transformer-migrations/searchable-migration.test.ts|src/__tests__/uibuilder.test.ts|src/__tests__/with-babel-config.test.ts" - CLI_REGION: ap-southeast-1 - win_a_0: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/amplify-configure.test.ts|src/__tests__/analytics.test.ts|src/__tests__/api_1.test.ts" - CLI_REGION: ap-northeast-1 - win_a_1: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_10.test.ts|src/__tests__/api_3.test.ts|src/__tests__/api_4.test.ts" - CLI_REGION: ap-southeast-2 - win_a_2: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_6a.test.ts|src/__tests__/api_6b.test.ts|src/__tests__/api_7.test.ts" - CLI_REGION: ap-southeast-1 - win_a_3: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/api_8.test.ts|src/__tests__/api_9a.test.ts|src/__tests__/api_9b.test.ts" - CLI_REGION: eu-west-2 - win_a_4: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/apigw.test.ts|src/__tests__/auth_10.test.ts|src/__tests__/auth_11.test.ts" - CLI_REGION: ap-northeast-1 - win_a_5: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_1a.test.ts|src/__tests__/auth_1b.test.ts|src/__tests__/auth_1c.test.ts" - CLI_REGION: eu-central-1 - win_a_6: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_2a.test.ts|src/__tests__/auth_2b.test.ts|src/__tests__/auth_2c.test.ts" - CLI_REGION: us-east-1 - win_a_7: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_2d.test.ts|src/__tests__/auth_2e.test.ts|src/__tests__/auth_2f.test.ts" - CLI_REGION: eu-west-2 - win_a_8: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_3a.test.ts|src/__tests__/auth_3b.test.ts|src/__tests__/auth_3c.test.ts" - CLI_REGION: ap-southeast-1 - win_a_9: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_4a.test.ts|src/__tests__/auth_4b.test.ts|src/__tests__/auth_4c.test.ts" - CLI_REGION: us-east-1 - win_a_10: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_5a.test.ts|src/__tests__/auth_5b.test.ts|src/__tests__/auth_5c.test.ts" - CLI_REGION: ap-southeast-2 - win_a_11: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_5d.test.ts|src/__tests__/auth_5e.test.ts|src/__tests__/auth_5f.test.ts" - CLI_REGION: us-west-2 - win_a_12: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_6.test.ts|src/__tests__/auth_7a.test.ts|src/__tests__/auth_7b.test.ts" - CLI_REGION: us-west-2 - win_a_13: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_8a.test.ts|src/__tests__/auth_8b.test.ts|src/__tests__/auth_8c.test.ts" - CLI_REGION: us-east-1 - win_a_14: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/auth_9.test.ts|src/__tests__/auth-trigger.test.ts|src/__tests__/configure-project.test.ts" - CLI_REGION: eu-west-2 - win_c_15: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/container-hosting.test.ts|src/__tests__/containers-api-1.test.ts|src/__tests__/containers-api-2.test.ts" - CLI_REGION: ap-southeast-1 - win_c_16: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/containers-api-secrets.test.ts|src/__tests__/custom_policies_container.test.ts|src/__tests__/custom_policies_function.test.ts" - CLI_REGION: us-east-1 - win_c_17: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/custom_resources.test.ts|src/__tests__/env-1.test.ts|src/__tests__/env-3.test.ts" - CLI_REGION: eu-central-1 - win_e_18: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/env-4.test.ts|src/__tests__/env-5.test.ts|src/__tests__/export-pull-a.test.ts" - CLI_REGION: eu-central-1 - win_e_19: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/export-pull-b.test.ts|src/__tests__/export-pull-c.test.ts|src/__tests__/export-pull-d.test.ts" - CLI_REGION: ap-northeast-1 - win_f_20: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/feature-flags.test.ts|src/__tests__/frontend_config_drift.test.ts|src/__tests__/function_10.test.ts" - CLI_REGION: ap-northeast-1 - win_f_21: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_11.test.ts|src/__tests__/function_2a.test.ts|src/__tests__/function_2b.test.ts" - CLI_REGION: us-west-2 - win_f_22: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_2c.test.ts|src/__tests__/function_5.test.ts|src/__tests__/function_9a.test.ts" - CLI_REGION: ap-northeast-1 - win_f_23: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/function_9b.test.ts|src/__tests__/function_9c.test.ts|src/__tests__/function-permissions.test.ts" - CLI_REGION: eu-west-2 - win_g_24: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-add-a.test.ts|src/__tests__/geo-add-b.test.ts|src/__tests__/geo-add-c.test.ts" - CLI_REGION: eu-central-1 - win_g_25: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-add-d.test.ts|src/__tests__/geo-headless.test.ts|src/__tests__/geo-import-1a.test.ts" - CLI_REGION: eu-central-1 - win_g_26: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-import-1b.test.ts|src/__tests__/geo-import-2.test.ts|src/__tests__/geo-import-3.test.ts" - CLI_REGION: us-west-2 - win_g_27: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/geo-multi-env.test.ts|src/__tests__/geo-remove-1.test.ts|src/__tests__/global_sandbox-a.test.ts" - CLI_REGION: ap-northeast-1 - win_g_28: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/global_sandbox-b.test.ts|src/__tests__/global_sandbox-c.test.ts|src/__tests__/graphql-v2/api_lambda_auth_1.test.ts" - CLI_REGION: us-east-2 - win_a_29: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/graphql-v2/api_lambda_auth_2.test.ts|src/__tests__/graphql-v2/custom-transformers.test.ts|src/__tests__/graphql-v2/searchable-datastore.test.ts" - CLI_REGION: us-west-2 - win_h_30: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/hooks-b.test.ts|src/__tests__/hosting.test.ts|src/__tests__/hostingPROD.test.ts" - CLI_REGION: ap-southeast-1 - win_i_31: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/iam-permissions-boundary.test.ts|src/__tests__/import_dynamodb_1.test.ts|src/__tests__/import_dynamodb_2b.test.ts" - CLI_REGION: us-east-1 - win_i_32: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/import_s3_1.test.ts|src/__tests__/import_s3_2b.test.ts|src/__tests__/import_s3_3.test.ts" - CLI_REGION: us-east-2 - win_i_33: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init_a.test.ts|src/__tests__/init_b.test.ts|src/__tests__/init_c.test.ts" - CLI_REGION: eu-west-2 - win_i_34: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init_d.test.ts|src/__tests__/init_e.test.ts|src/__tests__/init_f.test.ts" - CLI_REGION: us-east-2 - win_i_35: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/init-special-case.test.ts|src/__tests__/interactions.test.ts|src/__tests__/layer-1.test.ts" - CLI_REGION: us-west-2 - win_l_36: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/layer-3.test.ts|src/__tests__/layer-4.test.ts|src/__tests__/migration/api.connection.migration.test.ts" - CLI_REGION: ap-southeast-2 - win_a_37: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/api.connection.migration2.test.ts|src/__tests__/migration/api.key.migration1.test.ts|src/__tests__/migration/api.key.migration2.test.ts" - CLI_REGION: eu-west-2 - win_a_38: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/api.key.migration3.test.ts|src/__tests__/migration/api.key.migration4.test.ts|src/__tests__/migration/api.key.migration5.test.ts" - CLI_REGION: ap-northeast-1 - win_n_39: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/migration/node.function.test.ts|src/__tests__/notifications-analytics-compatibility-in-app-2.test.ts|src/__tests__/notifications-apns.test.ts" - CLI_REGION: us-west-2 - win_n_40: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/notifications-fcm.test.ts|src/__tests__/notifications-in-app-messaging.test.ts|src/__tests__/plugin.test.ts" - CLI_REGION: us-east-2 - win_p_41: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/predictions.test.ts|src/__tests__/resolvers.test.ts|src/__tests__/s3-sse.test.ts" - CLI_REGION: eu-central-1 - win_s_42: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-10.test.ts|src/__tests__/schema-auth-11-a.test.ts|src/__tests__/schema-auth-11-b.test.ts" - CLI_REGION: eu-west-2 - win_s_43: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-11-c.test.ts|src/__tests__/schema-auth-12.test.ts|src/__tests__/schema-auth-13.test.ts" - CLI_REGION: us-east-1 - win_s_44: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-14.test.ts|src/__tests__/schema-auth-15.test.ts|src/__tests__/schema-auth-1a.test.ts" - CLI_REGION: us-east-1 - win_s_45: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-1b.test.ts|src/__tests__/schema-auth-2a.test.ts|src/__tests__/schema-auth-2b.test.ts" - CLI_REGION: ap-northeast-1 - win_s_46: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-3.test.ts|src/__tests__/schema-auth-4a.test.ts|src/__tests__/schema-auth-4b.test.ts" - CLI_REGION: us-east-1 - win_s_47: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-4c.test.ts|src/__tests__/schema-auth-4d.test.ts|src/__tests__/schema-auth-5a.test.ts" - CLI_REGION: eu-central-1 - win_s_48: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-5b.test.ts|src/__tests__/schema-auth-5c.test.ts|src/__tests__/schema-auth-5d.test.ts" - CLI_REGION: ap-northeast-1 - win_s_49: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-6a.test.ts|src/__tests__/schema-auth-6b.test.ts|src/__tests__/schema-auth-6c.test.ts" - CLI_REGION: ap-northeast-1 - win_s_50: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-6d.test.ts|src/__tests__/schema-auth-7a.test.ts|src/__tests__/schema-auth-7b.test.ts" - CLI_REGION: ap-southeast-1 - win_s_51: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-7c.test.ts|src/__tests__/schema-auth-8a.test.ts|src/__tests__/schema-auth-8b.test.ts" - CLI_REGION: ap-northeast-1 - win_s_52: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-8c.test.ts|src/__tests__/schema-auth-9-a.test.ts|src/__tests__/schema-auth-9-b.test.ts" - CLI_REGION: ap-northeast-1 - win_s_53: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-auth-9-c.test.ts|src/__tests__/schema-connection-1.test.ts|src/__tests__/schema-connection-2.test.ts" - CLI_REGION: us-east-1 - win_s_54: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-data-access-patterns.test.ts|src/__tests__/schema-function-1.test.ts|src/__tests__/schema-function-2.test.ts" - CLI_REGION: us-west-2 - win_s_55: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-iterative-update-1.test.ts|src/__tests__/schema-iterative-update-2.test.ts|src/__tests__/schema-iterative-update-3.test.ts" - CLI_REGION: eu-west-2 - win_s_56: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-iterative-update-4.test.ts|src/__tests__/schema-iterative-update-locking.test.ts|src/__tests__/schema-key.test.ts" - CLI_REGION: eu-west-2 - win_s_57: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-model-a.test.ts|src/__tests__/schema-model-b.test.ts|src/__tests__/schema-model-c.test.ts" - CLI_REGION: eu-central-1 - win_s_58: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-model-d.test.ts|src/__tests__/schema-model-e.test.ts|src/__tests__/schema-predictions.test.ts" - CLI_REGION: ap-northeast-1 - win_s_59: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/schema-searchable.test.ts|src/__tests__/schema-versioned.test.ts|src/__tests__/storage-1.test.ts" - CLI_REGION: ap-southeast-2 - win_s_60: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/storage-2.test.ts|src/__tests__/storage-3.test.ts|src/__tests__/storage-4.test.ts" - CLI_REGION: ap-southeast-1 - win_t_61: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/tags.test.ts|src/__tests__/transformer-migrations/auth-migration.test.ts|src/__tests__/transformer-migrations/function-migration.test.ts" - CLI_REGION: us-west-2 - win_h_62: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/transformer-migrations/http-migration.test.ts|src/__tests__/transformer-migrations/model-migration.test.ts|src/__tests__/transformer-migrations/predictions-migration.test.ts" - CLI_REGION: ap-southeast-2 - win_s_63: - parameters: - os: - type: executor - default: l_medium - executor: << parameters.os >> - working_directory: ~/repo - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - attach_workspace: - at: ~/. - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-verdaccio-cache-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-build-artifact-{{ .Revision }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - rename_binary_for_windows: - os: << parameters.os >> - - install_packaged_cli: - os: << parameters.os >> - - run_e2e_tests: - os: << parameters.os >> - - scan_e2e_test_artifacts: - os: << parameters.os >> - - store_test_results: - path: ~/repo/packages/amplify-e2e-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-e2e-tests/amplify-e2e-reports - environment: - TEST_SUITE: >- - "src/__tests__/transformer-migrations/searchable-migration.test.ts|src/__tests__/with-babel-config.test.ts" - CLI_REGION: ap-southeast-1 - notifications-migration-2_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration-3_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration-4_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts - CLI_REGION: us-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts - CLI_REGION: eu-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-key-migration-2_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts - CLI_REGION: eu-central-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-key-migration_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts - CLI_REGION: ap-northeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api_migration_update_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/api_migration_update.test.ts - CLI_REGION: ap-southeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth_migration_update_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/auth_migration_update.test.ts - CLI_REGION: ap-southeast-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - function_migration_update_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/function_migration_update.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - storage_migration_update_v5: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/storage_migration_update.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v5.2.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration-2_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration-3_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration-4_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts - CLI_REGION: us-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - notifications-migration_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts - CLI_REGION: eu-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-migration-a_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-a.test.ts - CLI_REGION: eu-central-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-migration-b_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-b.test.ts - CLI_REGION: ap-northeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-migration-c_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-c.test.ts - CLI_REGION: ap-southeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-migration-d_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/api-migration-d.test.ts - CLI_REGION: ap-southeast-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - apigw-ext-migration_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/apigw-ext-migration.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth-migration-a_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-a.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth-migration-b_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-b.test.ts - CLI_REGION: us-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth-migration-c_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-c.test.ts - CLI_REGION: eu-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth-migration-d_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-d.test.ts - CLI_REGION: eu-central-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth-migration-e_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/auth-migration-e.test.ts - CLI_REGION: ap-northeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - init-migration_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/migration_tests/overrides/init-migration.test.ts - CLI_REGION: ap-southeast-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-key-migration-2_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts - CLI_REGION: ap-southeast-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api-key-migration_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - api_migration_update_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/api_migration_update.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - auth_migration_update_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/auth_migration_update.test.ts - CLI_REGION: us-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - function_migration_update_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/function_migration_update.test.ts - CLI_REGION: eu-west-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - storage_migration_update_v6: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.npm-global/lib/node_modules/@aws-amplify/cli/bin/amplify - TEST_SUITE: src/__tests__/update_tests/storage_migration_update.test.ts - CLI_REGION: eu-central-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v6.1.0 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - dotnet_runtime_update_migration_v10: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify - TEST_SUITE: >- - src/__tests__/migration_tests_v10/dotnet_runtime_update_migration.test.ts - CLI_REGION: us-east-1 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v10.5.1 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - unset IS_AMPLIFY_CI - echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo - scaffold_v10: - parameters: - os: - type: executor - default: l_large - executor: << parameters.os >> - environment: - AMPLIFY_PATH: /home/circleci/.amplify/bin/amplify - TEST_SUITE: src/__tests__/migration_tests_v10/scaffold.test.ts - CLI_REGION: us-east-2 - steps: - - restore_cache: - key: amplify-cli-repo-{{ .Branch }}-{{ .Revision }} - - restore_cache: - key: amplify-cli-yarn-deps-{{ .Branch }}-{{ checksum "yarn.lock" }} - - restore_cache: - key: amplify-pkg-binaries-{{ .Branch }}-{{ .Revision }} - - run: - name: Run tests migrating from CLI v10.5.1 - command: | - source .circleci/local_publish_helpers.sh - changeNpmGlobalPath - cd packages/amplify-migration-tests - unset IS_AMPLIFY_CI - echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m - - run: - name: Scan And Cleanup E2E Test Artifacts - no_output_timeout: 90m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always - - store_test_results: - path: ~/repo/packages/amplify-migration-tests/ - - store_artifacts: - path: ~/repo/packages/amplify-migration-tests/amplify-migration-reports - working_directory: ~/repo -workflows: - version: 3 - build_test_deploy_v3: - jobs: - - build: - filters: - branches: - ignore: - - beta - - build_windows_workspace_for_e2e: - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - - lint: - requires: - - build - filters: - branches: - ignore: - - beta - - release - - /release_rc\/.*/ - - /tagged-release-without-e2e-tests\/.*/ - - verify-api-extract: - requires: - - build - filters: - branches: - ignore: - - beta - - release - - /release_rc\/.*/ - - /tagged-release-without-e2e-tests\/.*/ - - verify-versions-match: - requires: - - publish_to_local_registry - - test: - requires: - - build - filters: - branches: - ignore: - - beta - - release - - /release_rc\/.*/ - - /tagged-release-without-e2e-tests\/.*/ - - mock_e2e_tests: - requires: - - build - filters: - branches: - ignore: - - beta - - release - - /tagged-release-without-e2e-tests\/.*/ - - integration_test: - context: - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - build - - publish_to_local_registry: - requires: - - build - - upload_pkg_binaries: - filters: - branches: - only: - - dev - - release - - /release_rc\/.*/ - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /tagged-release-without-e2e-tests\/.*/ - - /run-e2e\/.*/ - context: - - e2e-auth-credentials - - e2e-test-context - - amplify-s3-upload - requires: - - build_pkg_binaries_linux - - build_pkg_binaries_macos - - build_pkg_binaries_win - - build_pkg_binaries_arm - - build_pkg_binaries_linux: - requires: - - publish_to_local_registry - - build_pkg_binaries_macos: - requires: - - publish_to_local_registry - - build_pkg_binaries_win: - requires: - - publish_to_local_registry - - build_pkg_binaries_arm: - requires: - - publish_to_local_registry - - verify_pkg_binaries: - requires: - - build_pkg_binaries_linux - - build_pkg_binaries_macos - - build_pkg_binaries_win - - build_pkg_binaries_arm - - amplify_sudo_install_test: - context: amplify-ecr-image-pull - requires: - - upload_pkg_binaries - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - - cleanup_resources: - context: - - cleanup-resources - - e2e-test-context - requires: - - build - filters: - branches: - only: - - dev - - /tagged-release\/.*/ - - /run-e2e\/.*/ - - amplify_migration_tests_non_multi_env_layers: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - amplify_migration_tests_multi_env_layers: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - amplify_console_integration_tests: - context: - - e2e-auth-credentials - - cleanup-resources - - console-e2e-test - - e2e-test-context - filters: - branches: - only: - - dev - requires: - - upload_pkg_binaries - - github_prerelease: - context: github-publish - requires: - - upload_pkg_binaries - filters: - branches: - only: - - release - - github_prerelease_install_sanity_check: - requires: - - github_prerelease - filters: - branches: - only: - - release - - wait_for_all: - context: - - cleanup-resources - - e2e-test-context - requires: - - build - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - - trigger_e2e_workflow_cleanup: - context: - - cleanup-resources - - e2e-test-context - requires: - - wait_for_all - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - - deploy: - context: - - e2e-auth-credentials - - e2e-test-context - - amplify-s3-upload - - npm-publish - requires: - - test - - mock_e2e_tests - - integration_test - - amplify_sudo_install_test - - amplify_console_integration_tests - - amplify_migration_tests_non_multi_env_layers - - amplify_migration_tests_multi_env_layers - - github_prerelease_install_sanity_check - - upload_pkg_binaries - - verify-versions-match - - linux_a_0 - - linux_a_3 - - linux_a_5 - - linux_a_6 - - linux_a_13 - - linux_a_14 - - linux_e_20 - - linux_f_24 - - linux_f_25 - - linux_f_29 - - linux_g_32 - - linux_i_44 - - linux_n_54 - - linux_p_55 - - linux_s_58 - - linux_s_59 - - linux_s_66 - - win_a_6 - - win_a_9 - - win_a_13 - - win_c_16 - - win_i_31 - - win_s_43 - - win_s_44 - - win_s_46 - - win_s_53 - - linux_a_1 - - linux_a_9 - - linux_f_28 - - linux_g_31 - - linux_c_37 - - linux_i_39 - - linux_a_49 - - linux_s_62 - - linux_s_74 - - win_a_1 - - win_a_10 - - win_l_36 - - win_s_59 - - win_h_62 - - linux_a_2 - - linux_a_11 - - linux_a_15 - - linux_c_16 - - linux_c_18 - - linux_e_22 - - linux_g_34 - - linux_i_42 - - linux_i_46 - - linux_a_48 - - linux_a_50 - - linux_s_68 - - linux_s_72 - - win_a_11 - - win_a_12 - - win_f_21 - - win_g_26 - - win_a_29 - - win_i_35 - - win_n_39 - - win_s_54 - - win_t_61 - - linux_a_4 - - linux_a_10 - - linux_a_12 - - linux_d_19 - - linux_f_23 - - linux_g_36 - - linux_i_43 - - linux_r_56 - - linux_s_60 - - linux_s_61 - - linux_s_63 - - linux_s_73 - - linux_t_77 - - win_g_28 - - win_i_32 - - win_i_34 - - win_n_40 - - linux_a_7 - - linux_i_45 - - linux_s_65 - - linux_s_67 - - linux_s_69 - - linux_s_70 - - linux_s_71 - - linux_s_76 - - linux_h_78 - - win_a_0 - - win_a_4 - - win_e_19 - - win_f_20 - - win_f_22 - - win_g_27 - - win_a_38 - - win_s_45 - - win_s_48 - - win_s_49 - - win_s_51 - - win_s_52 - - win_s_58 - - linux_a_8 - - linux_c_17 - - linux_e_21 - - linux_f_26 - - linux_g_33 - - linux_h_38 - - linux_i_40 - - linux_i_41 - - linux_n_52 - - linux_s_57 - - linux_s_75 - - linux_s_79 - - win_a_2 - - win_a_8 - - win_c_15 - - win_h_30 - - win_s_50 - - win_s_60 - - win_s_63 - - linux_f_27 - - linux_g_30 - - linux_l_47 - - win_a_3 - - win_a_7 - - win_a_14 - - win_f_23 - - win_i_33 - - win_a_37 - - win_s_42 - - win_s_55 - - win_s_56 - - linux_g_35 - - linux_n_51 - - linux_n_53 - - linux_s_64 - - win_a_5 - - win_c_17 - - win_e_18 - - win_g_24 - - win_g_25 - - win_p_41 - - win_s_47 - - win_s_57 - - notifications-migration-2_v5 - - function_migration_update_v5 - - notifications-migration-3_v5 - - storage_migration_update_v5 - - notifications-migration-4_v5 - - notifications-migration_v5 - - api-key-migration-2_v5 - - api-key-migration_v5 - - api_migration_update_v5 - - auth_migration_update_v5 - - notifications-migration-2_v6 - - apigw-ext-migration_v6 - - api-key-migration_v6 - - notifications-migration-3_v6 - - auth-migration-a_v6 - - api_migration_update_v6 - - notifications-migration-4_v6 - - auth-migration-b_v6 - - auth_migration_update_v6 - - notifications-migration_v6 - - auth-migration-c_v6 - - function_migration_update_v6 - - api-migration-a_v6 - - auth-migration-d_v6 - - storage_migration_update_v6 - - api-migration-b_v6 - - auth-migration-e_v6 - - api-migration-c_v6 - - init-migration_v6 - - api-migration-d_v6 - - api-key-migration-2_v6 - - dotnet_runtime_update_migration_v10 - - scaffold_v10 - filters: - branches: - only: - - release - - /release_rc\/.*/ - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /tagged-release-without-e2e-tests\/.*/ - - github_release: - context: github-publish - requires: - - deploy - filters: - branches: - only: - - release - - linux_a_0: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_3: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_5: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_6: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_13: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_14: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_e_20: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_24: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_25: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_29: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_32: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_44: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_n_54: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_p_55: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_58: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_59: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_66: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_6: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_9: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_13: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_c_16: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_i_31: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_43: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_44: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_46: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_53: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_a_1: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_9: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_28: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_31: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_c_37: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_39: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_49: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_62: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_74: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_1: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_10: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_l_36: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_59: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_h_62: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_a_2: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_11: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_15: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_c_16: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_c_18: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_e_22: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_34: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_42: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_46: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_48: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_50: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_68: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_72: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_11: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_12: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_f_21: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_g_26: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_29: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_i_35: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_n_39: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_54: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_t_61: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_a_4: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_10: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_a_12: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_d_19: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_23: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_36: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_43: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_r_56: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_60: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_61: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_63: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_73: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_t_77: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_g_28: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_i_32: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_i_34: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_n_40: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_a_7: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_45: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_65: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_67: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_69: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_70: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_71: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_76: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_h_78: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_0: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_4: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_e_19: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_f_20: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_f_22: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_g_27: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_38: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_45: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_48: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_49: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_51: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_52: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_58: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_a_8: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_c_17: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_e_21: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_f_26: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_33: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_h_38: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_40: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_i_41: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_n_52: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_57: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_75: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_79: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_2: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_8: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_c_15: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_h_30: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_50: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_60: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_63: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_f_27: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_g_30: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_l_47: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_3: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_7: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_14: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_f_23: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_i_33: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_a_37: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_42: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_55: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_56: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - linux_g_35: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_n_51: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_n_53: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - linux_s_64: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - win_a_5: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_c_17: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_e_18: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_g_24: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_g_25: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_p_41: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_47: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - win_s_57: - context: - - cleanup-resources - - e2e-auth-credentials - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - - build_windows_workspace_for_e2e - matrix: - parameters: - os: - - w_medium - - notifications-migration-2_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - function_migration_update_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration-3_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - storage_migration_update_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration-4_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-key-migration-2_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-key-migration_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api_migration_update_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth_migration_update_v5: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration-2_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - apigw-ext-migration_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-key-migration_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration-3_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth-migration-a_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api_migration_update_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - notifications-migration-4_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth-migration-b_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth_migration_update_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - notifications-migration_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth-migration-c_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - function_migration_update_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-migration-a_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_large - - auth-migration-d_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - storage_migration_update_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-migration-b_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - auth-migration-e_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-migration-c_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - init-migration_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-migration-d_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - api-key-migration-2_v6: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - dotnet_runtime_update_migration_v10: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium - - scaffold_v10: - context: - - e2e-auth-credentials - - cleanup-resources - - e2e-test-context - filters: - branches: - only: - - dev - - /run-e2e-with-rc\/.*/ - - /tagged-release\/.*/ - - /run-e2e\/.*/ - requires: - - upload_pkg_binaries - matrix: - parameters: - os: - - l_medium -commands: - install_packaged_cli: - description: Install Amplify Packaged CLI to PATH - parameters: - os: - type: executor - default: l_large - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - run: - shell: powershell.exe - name: Rename the Packaged CLI to amplify - command: | - # rename the command to amplify - cd /home/circleci/repo/out - cp amplify-pkg-win-x64.exe amplify.exe - - run: - shell: powershell.exe - name: Move to CLI Binary to already existing PATH - command: > - # This is a Hack to make sure the Amplify CLI is in the PATH - - cp /home/circleci/repo/out/amplify.exe - $env:homedrive\$env:homepath\AppData\Local\Microsoft\WindowsApps - - run: - name: Confirm Amplify CLI is installed and available in PATH - command: amplify version - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - run: - name: Symlink Amplify packaged CLI - command: | - cd out - ln -sf amplify-pkg-linux-x64 amplify - echo "export PATH=$AMPLIFY_DIR:$PATH" >> $BASH_ENV - source $BASH_ENV - - run: - name: Confirm Amplify CLI is installed and available in PATH - command: amplify version - rename_binary_for_windows: - description: Rename binary for windows - parameters: - os: - type: executor - default: w_medium - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - run: - shell: powershell.exe - command: >- - cp /home/circleci/repo/out/amplify-pkg-win-x64.exe - $env:homedrive\$env:homepath\AppData\Local\Microsoft\WindowsApps\amplify.exe - run_e2e_tests: - description: Run Amplify E2E tests - parameters: - os: - type: executor - default: l_medium - steps: - - when: - condition: - equal: - - machine: - image: windows-server-2019-vs2019:stable - resource_class: windows.medium - shell: bash.exe - working_directory: ~/repo - environment: - AMPLIFY_DIR: C:/home/circleci/repo/out - AMPLIFY_PATH: C:/home/circleci/repo/out/amplify.exe - - << parameters.os >> - steps: - - run: - name: Run E2e Tests - shell: bash.exe - command: > - source .circleci/local_publish_helpers.sh - - cd packages/amplify-e2e-tests - - retry yarn run e2e --force-exit --detectOpenHandles - --maxWorkers=3 $TEST_SUITE - no_output_timeout: 60m - - when: - condition: - or: - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - - equal: - - docker: - - image: >- - public.ecr.aws/j4f5f3h7/amplify-cli-e2e-base-image-repo-public:latest - working_directory: ~/repo - resource_class: medium - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux-x64 - - << parameters.os >> - steps: - - run: - name: Run E2e Tests - command: | - source .circleci/local_publish_helpers.sh - source $BASH_ENV - amplify version - retry runE2eTest - no_output_timeout: 90m - scan_e2e_test_artifacts: - description: Scan And Cleanup E2E Test Artifacts - parameters: - os: - type: executor - default: l_large - steps: - - run: - name: Scan E2E artifacts - no_output_timeout: 2m - command: | - if ! yarn ts-node .circleci/scan_artifacts.ts; then - echo "Cleaning the repository" - git clean -fdx - exit 1 - fi - when: always From c38f04cb1afb04a8e90b49f8cb65cd233555c2f0 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 04:41:17 -0500 Subject: [PATCH 07/69] chore: remove parallelization blocker --- .circleci/config.base.yml | 2 +- .circleci/local_publish_helpers.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index cdb58a9b23c..0842a4ea10d 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1260,7 +1260,7 @@ commands: command: | source .circleci/local_publish_helpers.sh cd packages/amplify-e2e-tests - retry yarn run e2e --force-exit --detectOpenHandles --maxWorkers=3 $TEST_SUITE + retry yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE no_output_timeout: 60m - when: condition: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index b9c1c736e7e..d7031af7b0e 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -278,9 +278,9 @@ function runE2eTest { # read the content of failed tests failedTests=$(<$FAILED_TEST_REGEX_FILE) # adding --force-exit per https://github.com/facebook/jest/issues/9473 - yarn run e2e --force-exit --detectOpenHandles --maxWorkers=3 $TEST_SUITE -t "$failedTests" + yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE -t "$failedTests" else - yarn run e2e --force-exit --detectOpenHandles --maxWorkers=3 $TEST_SUITE + yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE fi } From 72bc4063e7adcbd2ebc58ec5ff2a84c6f458af13 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 11:06:42 -0500 Subject: [PATCH 08/69] chore: force parallel runs --- .circleci/config.base.yml | 14 +++++++------- .circleci/config.yml | 2 +- .circleci/local_publish_helpers.sh | 7 +++---- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 0842a4ea10d..f716caec180 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -472,7 +472,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v5.2.0 --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -502,7 +502,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v6.1.0 --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -534,7 +534,7 @@ jobs: cd packages/amplify-migration-tests unset IS_AMPLIFY_CI echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v10.5.1 --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -564,7 +564,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.28.2_nonmultienv_layers --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -594,7 +594,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.52.0_multienv_layers --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -622,7 +622,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --maxWorkers=3 + retry yarn run console-integration --no-cache --maxWorkers=3 name: 'Run Amplify Console integration tests' no_output_timeout: 90m - run: *scan_e2e_test_artifacts @@ -1260,7 +1260,7 @@ commands: command: | source .circleci/local_publish_helpers.sh cd packages/amplify-e2e-tests - retry yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE + retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 60m - when: condition: diff --git a/.circleci/config.yml b/.circleci/config.yml index c8547cd46a1..bd08cac85e1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -159,7 +159,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --maxWorkers=3 + retry yarn run console-integration --no-cache --maxWorkers=3 name: Run Amplify Console integration tests no_output_timeout: 90m - run: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index d7031af7b0e..09ce4eb0c20 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -276,11 +276,10 @@ function runE2eTest { if [ -f $FAILED_TEST_REGEX_FILE ]; then # read the content of failed tests - failedTests=$(<$FAILED_TEST_REGEX_FILE) - # adding --force-exit per https://github.com/facebook/jest/issues/9473 - yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE -t "$failedTests" + failedTests=$(<$FAILED_TEST_REGEX_FILE)= + yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE -t "$failedTests" else - yarn run e2e --force-exit --maxWorkers=3 $TEST_SUITE + yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE fi } From 8886c1e074405cfc5d6afa36d3432e09223654f7 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 11:12:10 -0500 Subject: [PATCH 09/69] chore: cleanup test list --- scripts/split-e2e-tests-v2.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 5912e37c0c0..7542eb943ca 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -61,6 +61,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'pull_pkg', 'schema-iterative-rollback-1_pkg', 'schema-iterative-rollback-2_pkg', + 'searchable-migration_pkg', 'storage-5_pkg', 'studio-modelgen_pkg', 'uibuilder_pkg', From f85c2ff950e4877b08ca77f6784d3475dfdad317 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 11:15:07 -0500 Subject: [PATCH 10/69] chore: disable retries and cleanup exclusions --- .circleci/local_publish_helpers.sh | 6 +++--- scripts/split-e2e-tests-v2.ts | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index 09ce4eb0c20..ff31906b75c 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -199,7 +199,7 @@ function useChildAccountCredentials { } function retry { - MAX_ATTEMPTS=2 + MAX_ATTEMPTS=1 SLEEP_DURATION=5 FIRST_RUN=true n=0 @@ -250,8 +250,8 @@ function setAwsAccountCredentials { export AWS_ACCESS_KEY_ID_ORIG=$AWS_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY_ORIG=$AWS_SECRET_ACCESS_KEY export AWS_SESSION_TOKEN_ORIG=$AWS_SESSION_TOKEN - # introduce a delay of up to 5 minutes to allow for more even spread aws list-accounts calls due to throttling - sleep $[ ( $RANDOM % 300 ) + 1 ]s + # introduce a delay of up to 3 minute to allow for more even spread aws list-accounts calls due to throttling + sleep $[ ( $RANDOM % 180 ) + 1 ]s if [[ "$OSTYPE" == "msys" ]]; then # windows provided by circleci has this OSTYPE useChildAccountCredentials diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 7542eb943ca..9765b07a12b 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -50,6 +50,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'import_s3_2c_pkg', 'layer-2_pkg', 'mock-api_pkg', + 'model-migration_pkg', 'notifications-analytics-compatibility-in-app-1_pkg', 'notifications-analytics-compatibility-sms-1_pkg', 'notifications-analytics-compatibility-sms-2_pkg', From e1c82afa0db85ed17542487b4af55ba72a102338 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 13:27:01 -0500 Subject: [PATCH 11/69] chore: bump test count to fill gaps --- .circleci/config.base.yml | 14 +++++++------- .circleci/config.yml | 2 +- .circleci/local_publish_helpers.sh | 4 ++-- scripts/split-e2e-tests-v2.ts | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index f716caec180..ffb89312f63 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -472,7 +472,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v5.2.0 --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v5.2.0 --no-cache --maxWorkers= $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -502,7 +502,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v6.1.0 --no-cache --maxWorkders=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -534,7 +534,7 @@ jobs: cd packages/amplify-migration-tests unset IS_AMPLIFY_CI echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v10.5.1 --no-cache --maxWorkders=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -564,7 +564,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkders=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -594,7 +594,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkders=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -622,7 +622,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkers=3 + retry yarn run console-integration --no-cache --maxWorkders=4 name: 'Run Amplify Console integration tests' no_output_timeout: 90m - run: *scan_e2e_test_artifacts @@ -1260,7 +1260,7 @@ commands: command: | source .circleci/local_publish_helpers.sh cd packages/amplify-e2e-tests - retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE + retry yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE no_output_timeout: 60m - when: condition: diff --git a/.circleci/config.yml b/.circleci/config.yml index bd08cac85e1..66f292ef16f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -159,7 +159,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkers=3 + retry yarn run console-integration --no-cache --maxWorkders=4 name: Run Amplify Console integration tests no_output_timeout: 90m - run: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index ff31906b75c..8af2673a15d 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -277,9 +277,9 @@ function runE2eTest { if [ -f $FAILED_TEST_REGEX_FILE ]; then # read the content of failed tests failedTests=$(<$FAILED_TEST_REGEX_FILE)= - yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE -t "$failedTests" + yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE -t "$failedTests" else - yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE + yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE fi } diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 9765b07a12b..d0f1f4096c4 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -68,7 +68,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'uibuilder_pkg', ], } -const MAX_TESTS_PER_JOB = 3; +const MAX_TESTS_PER_JOB = 5; type OS_TYPE = 'w' | 'l'; type CandidateJob = { region: string, From 5c7a51c9cca87da1699c3b5f5e82f3fb8f4d0d14 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 13:27:52 -0500 Subject: [PATCH 12/69] chore: move random id earlier in project name --- packages/amplify-e2e-core/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/index.ts b/packages/amplify-e2e-core/src/index.ts index fc310ec79e3..9b4da7d2808 100644 --- a/packages/amplify-e2e-core/src/index.ts +++ b/packages/amplify-e2e-core/src/index.ts @@ -115,7 +115,7 @@ export async function createNewProjectDir( let projectDir; do { const randomId = await global.getRandomId(); - projectDir = path.join(prefix, `${projectName}_${currentHash}_${randomId}`); + projectDir = path.join(prefix, `${projectName}_${randomId}_${currentHash}`); } while (fs.existsSync(projectDir)); fs.ensureDirSync(projectDir); From 1c408b737f12c840a29bc3773451b937d765a5ef Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 14:01:25 -0500 Subject: [PATCH 13/69] chore: update yarn version --- package.json | 12 +- yarn.lock | 730 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 687 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 5e684a4e4c7..5028e14f00e 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "@commitlint/prompt": "^16.2.3", "@microsoft/api-extractor": "^7.33.5", "@types/glob": "^7.1.1", - "@types/jest": "^26.0.20", + "@types/jest": "^27.0.0", "@types/js-yaml": "^4.0.0", "@typescript-eslint/eslint-plugin": "^5.34.0", "@typescript-eslint/parser": "^5.34.0", @@ -110,7 +110,7 @@ "eslint-import-resolver-typescript": "^2.0.0", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^26.1.1", + "eslint-plugin-jest": "^27.0.0", "eslint-plugin-jsdoc": "^37.9.6", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-prefer-arrow": "^1.2.3", @@ -119,8 +119,8 @@ "execa": "^5.1.1", "glob": "^7.2.0", "husky": "^3.1.0", - "jest": "^26.6.3", - "jest-circus": "^26.6.3", + "jest": "^27.0.0", + "jest-circus": "^27.0.0", "jest-junit": "^12.0.0", "js-yaml": "^4.0.0", "lnk": "1.1.0", @@ -129,7 +129,7 @@ "nx": "^14.8.3", "pkg": "^5.4.1", "rimraf": "^3.0.0", - "ts-jest": "^26.4.4", + "ts-jest": "^27.0.0", "ts-node": "^8.10.1", "typescript": "^4.5.5" }, @@ -142,4 +142,4 @@ "**/nth-check": "^2.0.1", "**/undici": "^5.8.0" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c406e555db7..b2b653bb472 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3588,6 +3588,11 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== +"@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + "@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5": version "7.16.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz#924aa9e1ae56e1e55f7184c8bf073a50d8677f5c" @@ -3651,6 +3656,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/eslint-parser@^7.16.3": version "7.17.0" resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6" @@ -3707,6 +3733,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" @@ -3777,6 +3812,17 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.16.0", "@babel/helper-create-class-features-plugin@^7.16.5": version "7.16.5" resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz#5d1bcd096792c1ebec6249eebc6358eec55d0cad" @@ -3879,6 +3925,11 @@ resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "@babel/helper-explode-assignable-expression@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" @@ -3927,6 +3978,14 @@ "@babel/template" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + "@babel/helper-get-function-arity@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" @@ -4060,6 +4119,20 @@ "@babel/traverse" "^7.18.8" "@babel/types" "^7.18.8" +"@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + "@babel/helper-optimise-call-expression@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" @@ -4084,6 +4157,11 @@ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== +"@babel/helper-plugin-utils@^7.19.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + "@babel/helper-remap-async-to-generator@^7.16.5": version "7.16.5" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz#e706646dc4018942acb4b29f7e185bc246d65ac3" @@ -4152,6 +4230,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -4180,7 +4265,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6": +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== @@ -4252,6 +4342,15 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + "@babel/highlight@^7.10.4": version "7.16.0" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" @@ -4304,6 +4403,11 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== +"@babel/parser@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": version "7.16.2" resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" @@ -4766,6 +4870,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.5" +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" @@ -5635,6 +5746,15 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" @@ -5708,6 +5828,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@7.0.0-beta.4": version "7.0.0-beta.4" resolved "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.4.tgz#988cc7683c448d7710e7d80bd88558183a102349" @@ -5749,6 +5885,15 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@balena/dockerignore@^1.0.2": version "1.0.2" resolved "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" @@ -6550,6 +6695,40 @@ slash "^3.0.0" strip-ansi "^6.0.0" +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + "@jest/environment@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" @@ -6560,6 +6739,16 @@ "@types/node" "*" jest-mock "^26.6.2" +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + "@jest/fake-timers@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" @@ -6572,6 +6761,18 @@ jest-mock "^26.6.2" jest-util "^26.6.2" +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" + "@jest/globals@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" @@ -6581,6 +6782,15 @@ "@jest/types" "^26.6.2" expect "^26.6.2" +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" + "@jest/reporters@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" @@ -6613,6 +6823,37 @@ optionalDependencies: node-notifier "^8.0.0" +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + "@jest/source-map@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" @@ -6622,6 +6863,15 @@ graceful-fs "^4.2.4" source-map "^0.6.0" +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" + "@jest/test-result@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" @@ -6653,6 +6903,16 @@ jest-runner "^26.6.3" jest-runtime "^26.6.3" +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + dependencies: + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" + "@jest/transform@^26.6.2": version "26.6.2" resolved "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" @@ -8109,6 +8369,13 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + "@sinonjs/formatio@^3.2.1": version "3.2.2" resolved "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c" @@ -8696,6 +8963,14 @@ jest-diff "^26.0.0" pretty-format "^26.0.0" +"@types/jest@^27.0.0": + version "27.5.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" + integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== + dependencies: + jest-matcher-utils "^27.0.0" + pretty-format "^27.0.0" + "@types/js-yaml@^4.0.0": version "4.0.5" resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" @@ -8832,6 +9107,11 @@ resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== +"@types/prettier@^2.1.5": + version "2.7.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== + "@types/progress@^2.0.3": version "2.0.5" resolved "https://registry.npmjs.org/@types/progress/-/progress-2.0.5.tgz#6e0febf3a82cc0ffdc1cebb4e56d6949fd108775" @@ -10443,9 +10723,9 @@ babel-jest@^26.6.3: graceful-fs "^4.2.4" slash "^3.0.0" -babel-jest@^27.4.2: +babel-jest@^27.4.2, babel-jest@^27.5.1: version "27.5.1" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== dependencies: "@jest/transform" "^27.5.1" @@ -10992,7 +11272,7 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.19.1, browserslist@^4.20.2, browserslist@^4.21.4: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.19.1, browserslist@^4.20.2, browserslist@^4.21.3, browserslist@^4.21.4: version "4.21.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -11026,7 +11306,7 @@ buffer-equal-constant-time@1.0.1: resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= -buffer-from@1.x, buffer-from@^1.0.0: +buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== @@ -11502,6 +11782,11 @@ cjs-module-lexer@^0.6.0: resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -12981,6 +13266,11 @@ diff-sequences@^27.4.0: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + diff@5.0.0, diff@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -13237,6 +13527,11 @@ emittery@^0.7.1: resolved "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -13647,10 +13942,10 @@ eslint-plugin-jest@^25.3.0: dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-jest@^26.1.1: - version "26.1.1" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz#7176dd745ef8bca3070263f62cdf112f2dfc9aa1" - integrity sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA== +eslint-plugin-jest@^27.0.0: + version "27.1.7" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.1.7.tgz#0351e904afb8d66b7f70452929556dfdc8daba0d" + integrity sha512-0QVzf+og4YI1Qr3UoprkqqhezAZjFffdi62b0IurkCXMqPtRW84/UT4CKsYT80h/D82LA9avjO/80Ou1LdgbaQ== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -14078,6 +14373,16 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + dependencies: + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + express@^4.17.3: version "4.17.3" resolved "https://registry.npmjs.org/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" @@ -16759,6 +17064,17 @@ istanbul-lib-instrument@^5.0.4: istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -16785,6 +17101,14 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + istanbul@~0.4.5: version "0.4.5" resolved "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" @@ -16829,32 +17153,39 @@ jest-changed-files@^26.6.2: execa "^4.0.0" throat "^5.0.0" -jest-circus@^26.6.3: - version "26.6.3" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.3.tgz#3cc7ef2a6a3787e5d7bfbe2c72d83262154053e7" - integrity sha512-ACrpWZGcQMpbv13XbzRzpytEJlilP/Su0JtNCi5r/xLpOUhnaIJr8leYYpLEMgPFURZISEHrnnpmB54Q/UziPw== +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.0.0, jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^26.6.2" + expect "^27.5.1" is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - stack-utils "^2.0.2" - throat "^5.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" jest-cli@^26.6.3: version "26.6.3" @@ -16875,6 +17206,24 @@ jest-cli@^26.6.3: prompts "^2.0.1" yargs "^15.4.1" +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + jest-config@^26.6.3: version "26.6.3" resolved "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" @@ -16899,6 +17248,36 @@ jest-config@^26.6.3: micromatch "^4.0.2" pretty-format "^26.6.2" +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + jest-diff@^26.0.0, jest-diff@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" @@ -16919,6 +17298,16 @@ jest-diff@^27.0.0: jest-get-type "^27.4.0" pretty-format "^27.4.2" +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + jest-docblock@^26.0.0: version "26.0.0" resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" @@ -16926,6 +17315,13 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + jest-each@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" @@ -16937,6 +17333,17 @@ jest-each@^26.6.2: jest-util "^26.6.2" pretty-format "^26.6.2" +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + jest-environment-jsdom@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" @@ -16950,6 +17357,19 @@ jest-environment-jsdom@^26.6.2: jest-util "^26.6.2" jsdom "^16.4.0" +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + jest-environment-node@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" @@ -16962,6 +17382,18 @@ jest-environment-node@^26.6.2: jest-mock "^26.6.2" jest-util "^26.6.2" +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" @@ -16972,6 +17404,11 @@ jest-get-type@^27.4.0: resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + jest-haste-map@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" @@ -17037,6 +17474,29 @@ jest-jasmine2@^26.6.3: pretty-format "^26.6.2" throat "^5.0.0" +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + jest-junit@^12.0.0: version "12.3.0" resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-12.3.0.tgz#ee41a74e439eecdc8965f163f83035cce5998d6d" @@ -17055,6 +17515,14 @@ jest-leak-detector@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + jest-matcher-utils@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" @@ -17065,6 +17533,16 @@ jest-matcher-utils@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" +jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + jest-message-util@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" @@ -17103,6 +17581,14 @@ jest-mock@^26.6.2: "@jest/types" "^26.6.2" "@types/node" "*" +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" @@ -17127,6 +17613,15 @@ jest-resolve-dependencies@^26.6.3: jest-regex-util "^26.0.0" jest-snapshot "^26.6.2" +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + jest-resolve@^26.0.2, jest-resolve@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" @@ -17141,6 +17636,22 @@ jest-resolve@^26.0.2, jest-resolve@^26.6.2: resolve "^1.18.1" slash "^3.0.0" +jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + jest-runner@^26.6.3: version "26.6.3" resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" @@ -17167,6 +17678,33 @@ jest-runner@^26.6.3: source-map-support "^0.5.6" throat "^5.0.0" +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + jest-runtime@^26.6.3: version "26.6.3" resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" @@ -17200,6 +17738,34 @@ jest-runtime@^26.6.3: strip-bom "^4.0.0" yargs "^15.4.1" +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + jest-serializer@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" @@ -17238,7 +17804,35 @@ jest-snapshot@^26.6.2: pretty-format "^26.6.2" semver "^7.3.2" -jest-util@^26.1.0, jest-util@^26.6.2: +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-util@^26.6.2: version "26.6.2" resolved "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== @@ -17250,7 +17844,7 @@ jest-util@^26.1.0, jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" -jest-util@^27.5.1: +jest-util@^27.0.0, jest-util@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== @@ -17274,6 +17868,18 @@ jest-validate@^26.6.2: leven "^3.1.0" pretty-format "^26.6.2" +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + jest-watch-typeahead@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.0.0.tgz#4de2ca1eb596acb1889752afbab84b74fcd99173" @@ -17300,9 +17906,9 @@ jest-watcher@^26.6.2: jest-util "^26.6.2" string-length "^4.0.1" -jest-watcher@^27.0.0: +jest-watcher@^27.0.0, jest-watcher@^27.5.1: version "27.5.1" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== dependencies: "@jest/test-result" "^27.5.1" @@ -17349,6 +17955,15 @@ jest@^26.6.3: import-local "^3.0.2" jest-cli "^26.6.3" +jest@^27.0.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + jju@^1.1.0, jju@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" @@ -17409,9 +18024,9 @@ jsdoc-type-pratt-parser@~2.2.3: resolved "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.3.tgz#3910cd0120054a512a73942d644ef1eb5a9df6e9" integrity sha512-QPyxq62Q8veBSDtDrWmqaEPjSCeknUV9dH/OAGt3q9an8qC8UQDqitQiw1NvoMskIESpoRZ6qzt4H3rlK0xo8A== -jsdom@^16.4.0: +jsdom@^16.4.0, jsdom@^16.6.0: version "16.7.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: abab "^2.0.5" @@ -17950,10 +18565,10 @@ lodash.isplainobject@^4.0.6: resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= -lodash.memoize@^4.1.2: +lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" @@ -17995,7 +18610,7 @@ lodash@4.17.15: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lodash@4.x, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.7.0, lodash@~4.17.0, lodash@~4.17.15: +lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.7.0, lodash@~4.17.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -18559,7 +19174,7 @@ mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.5, mkdirp@~0.5.1: dependencies: minimist "^1.2.5" -mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -19758,7 +20373,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -21608,6 +22223,11 @@ resolve-url@^0.2.1: resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + resolve@1.1.x: version "1.1.7" resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -23263,6 +23883,11 @@ throat@^5.0.0: resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: version "2.0.5" resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -23472,19 +24097,17 @@ ts-invariant@^0.4.0: dependencies: tslib "^1.9.3" -ts-jest@^26.4.4: - version "26.5.6" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" - integrity sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA== +ts-jest@^27.0.0: + version "27.1.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297" + integrity sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA== dependencies: bs-logger "0.x" - buffer-from "1.x" fast-json-stable-stringify "2.x" - jest-util "^26.1.0" + jest-util "^27.0.0" json5 "2.x" - lodash "4.x" + lodash.memoize "4.x" make-error "1.x" - mkdirp "1.x" semver "7.x" yargs-parser "20.x" @@ -24133,6 +24756,15 @@ v8-to-istanbul@^7.0.0: convert-source-map "^1.6.0" source-map "^0.7.3" +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + valid-url@^1.0.9: version "1.0.9" resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" From e93880e62fed2f0fe5cf130817e23011081eb702 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 14:44:14 -0500 Subject: [PATCH 14/69] chore: fix typo --- .circleci/config.base.yml | 12 ++++++------ .circleci/config.yml | 2 +- .circleci/local_publish_helpers.sh | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index ffb89312f63..0bce4f126ae 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -502,7 +502,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --no-cache --maxWorkders=4 $TEST_SUITE + retry yarn run migration_v6.1.0 --no-cache --maxWorkers=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -534,7 +534,7 @@ jobs: cd packages/amplify-migration-tests unset IS_AMPLIFY_CI echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --no-cache --maxWorkders=4 $TEST_SUITE + retry yarn run migration_v10.5.1 --no-cache --maxWorkers=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -564,7 +564,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkders=4 $TEST_SUITE + retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkers=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -594,7 +594,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkders=4 $TEST_SUITE + retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkers=4 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -622,7 +622,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkders=4 + retry yarn run console-integration --no-cache --maxWorkers=4 name: 'Run Amplify Console integration tests' no_output_timeout: 90m - run: *scan_e2e_test_artifacts @@ -1260,7 +1260,7 @@ commands: command: | source .circleci/local_publish_helpers.sh cd packages/amplify-e2e-tests - retry yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE + retry yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE no_output_timeout: 60m - when: condition: diff --git a/.circleci/config.yml b/.circleci/config.yml index 66f292ef16f..0767af3a7a1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -159,7 +159,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkders=4 + retry yarn run console-integration --no-cache --maxWorkers=4 name: Run Amplify Console integration tests no_output_timeout: 90m - run: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index 8af2673a15d..de8df419352 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -277,9 +277,9 @@ function runE2eTest { if [ -f $FAILED_TEST_REGEX_FILE ]; then # read the content of failed tests failedTests=$(<$FAILED_TEST_REGEX_FILE)= - yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE -t "$failedTests" + yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE -t "$failedTests" else - yarn run e2e --no-cache --maxWorkders=4 $TEST_SUITE + yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE fi } From a5d077e6145f0fce3b3b4d8f0e6846c0721f7860 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 15:17:48 -0500 Subject: [PATCH 15/69] chore: try to fix delete issues --- packages/amplify-e2e-core/src/index.ts | 4 +-- .../src/init/deleteProject.ts | 27 ++++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/amplify-e2e-core/src/index.ts b/packages/amplify-e2e-core/src/index.ts index 9b4da7d2808..b59ef692ead 100644 --- a/packages/amplify-e2e-core/src/index.ts +++ b/packages/amplify-e2e-core/src/index.ts @@ -111,11 +111,9 @@ export async function createNewProjectDir( // eslint-disable-next-line spellcheck/spell-checker prefix = path.join(fs.realpathSync(os.tmpdir()), amplifyTestsDir), ): Promise { - const currentHash = execSync('git rev-parse --short HEAD', { cwd: __dirname }).toString().trim(); let projectDir; do { - const randomId = await global.getRandomId(); - projectDir = path.join(prefix, `${projectName}_${randomId}_${currentHash}`); + projectDir = path.join(prefix, `${projectName}_${Math.floor(Math.random() * 1000000)}`); } while (fs.existsSync(projectDir)); fs.ensureDirSync(projectDir); diff --git a/packages/amplify-e2e-core/src/init/deleteProject.ts b/packages/amplify-e2e-core/src/init/deleteProject.ts index a52656cbc6d..38175297ee6 100644 --- a/packages/amplify-e2e-core/src/init/deleteProject.ts +++ b/packages/amplify-e2e-core/src/init/deleteProject.ts @@ -10,16 +10,19 @@ import { getBackendAmplifyMeta } from '../utils'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export const deleteProject = async (cwd: string, profileConfig?: any, usingLatestCodebase = false): Promise => { // Read the meta from backend otherwise it could fail on non-pushed, just initialized projects - const { StackName: stackName, Region: region } = getBackendAmplifyMeta(cwd).providers.awscloudformation; - await retry( - () => describeCloudFormationStack(stackName, region, profileConfig), - stack => stack.StackStatus.endsWith('_COMPLETE') || stack.StackStatus.endsWith('_FAILED'), - ); - - const noOutputTimeout = 1000 * 60 * 20; // 20 minutes; - return spawn(getCLIPath(usingLatestCodebase), ['delete'], { cwd, stripColors: true, noOutputTimeout }) - .wait('Are you sure you want to continue?') - .sendConfirmYes() - .wait('Project deleted locally.') - .runAsync(); + try { + const { StackName: stackName, Region: region } = getBackendAmplifyMeta(cwd).providers.awscloudformation; + await retry( + () => describeCloudFormationStack(stackName, region, profileConfig), + stack => stack.StackStatus.endsWith('_COMPLETE') || stack.StackStatus.endsWith('_FAILED'), + ); + const noOutputTimeout = 1000 * 60 * 20; // 20 minutes; + return spawn(getCLIPath(usingLatestCodebase), ['delete'], { cwd, stripColors: true, noOutputTimeout }) + .wait('Are you sure you want to continue?') + .sendConfirmYes() + .wait('Project deleted locally.') + .runAsync(); + } catch (e){ + console.log('Error on deleting project at:', cwd); + } }; From dcb75f7f4f37ad8ae6d943a8d1ef041fd7fdcfa7 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 16:50:37 -0500 Subject: [PATCH 16/69] chore: fix teardown on delete error --- packages/amplify-e2e-core/src/utils/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/utils/index.ts b/packages/amplify-e2e-core/src/utils/index.ts index ef2cb25d6e0..d812584741c 100644 --- a/packages/amplify-e2e-core/src/utils/index.ts +++ b/packages/amplify-e2e-core/src/utils/index.ts @@ -42,7 +42,9 @@ config(); * delete project directory */ export const deleteProjectDir = (root: string): void => { - rimraf.sync(root); + if(fs.existsSync(root)){ + rimraf.sync(root); + } }; /** From a9e08cbcba8eaee945e9869a5b0744a3b8193738 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 19:00:55 -0500 Subject: [PATCH 17/69] ci: create custom file system mutex --- .circleci/local_publish_helpers.sh | 4 +- .../src/init/initProjectHelper.ts | 44 +++++++-------- .../src/utils/add-circleci-tags.ts | 53 ++++++++++++++++++- .../amplify-e2e-core/src/utils/pinpoint.ts | 4 +- .../src/init-special-cases/index.ts | 2 +- .../src/migration-helpers-v10/init.ts | 4 +- .../src/migration-helpers/init.ts | 16 +++--- 7 files changed, 89 insertions(+), 38 deletions(-) diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index de8df419352..83b415ea364 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -250,8 +250,8 @@ function setAwsAccountCredentials { export AWS_ACCESS_KEY_ID_ORIG=$AWS_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY_ORIG=$AWS_SECRET_ACCESS_KEY export AWS_SESSION_TOKEN_ORIG=$AWS_SESSION_TOKEN - # introduce a delay of up to 3 minute to allow for more even spread aws list-accounts calls due to throttling - sleep $[ ( $RANDOM % 180 ) + 1 ]s + # introduce a delay of up to 1 minute to allow for more even spread aws list-accounts calls due to throttling + sleep $[ ( $RANDOM % 60 ) + 1 ]s if [[ "$OSTYPE" == "msys" ]]; then # windows provided by circleci has this OSTYPE useChildAccountCredentials diff --git a/packages/amplify-e2e-core/src/init/initProjectHelper.ts b/packages/amplify-e2e-core/src/init/initProjectHelper.ts index 7eb1f1818ec..3c6fc0cebc6 100644 --- a/packages/amplify-e2e-core/src/init/initProjectHelper.ts +++ b/packages/amplify-e2e-core/src/init/initProjectHelper.ts @@ -31,7 +31,7 @@ const defaultSettings = { permissionsBoundaryArn: undefined, }; -export function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { +export async function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -41,7 +41,7 @@ export function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { +export async function initAndroidProjectWithProfile(cwd: string, settings: Partial): Promise { const s = { ...defaultSettings, ...settings }; - addCircleCITags(cwd); + await addCircleCITags(cwd); let env; @@ -139,9 +139,9 @@ export function initAndroidProjectWithProfile(cwd: string, settings: Partial { + .run(async (err: Error) => { if (!err) { - addCircleCITags(cwd); + await addCircleCITags(cwd); resolve(); } else { @@ -157,10 +157,10 @@ export function createRandomName(): string { return uuid().replace(regExp, '').substring(0, length); } -export function initIosProjectWithProfile(cwd: string, settings: Record): Promise { +export async function initIosProjectWithProfile(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -188,9 +188,9 @@ export function initIosProjectWithProfile(cwd: string, settings: Record { + .run(async (err: Error) => { if (!err) { - addCircleCITags(cwd); + await addCircleCITags(cwd); resolve(); } else { @@ -200,10 +200,10 @@ export function initIosProjectWithProfile(cwd: string, settings: Record): Promise { +export async function initFlutterProjectWithProfile(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { cwd, stripColors: true }) @@ -239,13 +239,13 @@ export function initFlutterProjectWithProfile(cwd: string, settings: Record { const s = { ...defaultSettings, ...settings }; - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { @@ -300,8 +300,8 @@ export function initProjectWithAccessKey( }); } -export function initNewEnvWithAccessKey(cwd: string, s: { envName: string; accessKeyId: string; secretAccessKey: string }): Promise { - addCircleCITags(cwd); +export async function initNewEnvWithAccessKey(cwd: string, s: { envName: string; accessKeyId: string; secretAccessKey: string }): Promise { + await addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { @@ -338,8 +338,8 @@ export function initNewEnvWithAccessKey(cwd: string, s: { envName: string; acces }); } -export function initNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { - addCircleCITags(cwd); +export async function initNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -369,8 +369,8 @@ export function initNewEnvWithProfile(cwd: string, s: { envName: string }): Prom }); } -export function updatedInitNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { - addCircleCITags(cwd); +export async function updatedInitNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -397,7 +397,7 @@ export function updatedInitNewEnvWithProfile(cwd: string, s: { envName: string } }); } -export function amplifyInitSandbox(cwd: string, settings: Record): Promise { +export async function amplifyInitSandbox(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -407,7 +407,7 @@ export function amplifyInitSandbox(cwd: string, settings: Record { spawn(getCLIPath(), ['init'], { cwd, stripColors: true, env }) diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index f94eb8a78f8..e2adcf180c6 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -1,4 +1,6 @@ import { stateManager } from 'amplify-cli-core'; +import * as fs from 'fs-extra'; +import * as path from 'path'; declare global { /* eslint-disable @typescript-eslint/no-namespace */ @@ -12,8 +14,13 @@ declare global { /* eslint-enable */ } -export const addCircleCITags = (projectPath: string): void => { +function delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} +export const addCircleCITags = async (projectPath: string): Promise => { if (process.env && process.env['CIRCLECI']) { + await staggerTestsThatRunOnTheSameMachine(projectPath); + const tags = stateManager.getProjectTags(projectPath); const addTagIfNotExist = (key: string, value: string): void => { @@ -53,3 +60,47 @@ export const addCircleCITags = (projectPath: string): void => { export function sanitizeTagValue(value: string): string { return value.replace(/[^ a-z0-9_.:/=+\-@]/gi, ''); } + +/** + * Jest runs tests that start at the same time, which can lead to issues + * when running amplify init on 4 tests simultaneously. + * + * We need a way to stagger the tests while still taking advantage of Jest-Workers, + * so the individual tests need a way to communicate with each other & offset their + * start times. + * + * We can't use the CLI's process to do this either, because the Node.js context + * will be unique for each test. + * + * Solution: we can use the file system to create a mutex, and allow the tests + * to communicate their start times with each other. + * + * @param projectPath + */ +const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { + console.log(projectPath); + const lock = path.join(projectPath, '..', 'lock.txt'); + console.log(lock); + // one test will create the lock first, 60 seconds should be enough to allow 1 test to do this first without collision risk + const initialDelay = Math.floor(Math.random() * 5 * 1000); + await delay(initialDelay); + while(true){ + if(fs.existsSync(lock)) { + await delay(1 * 1000);// wait + console.log("waiting to start"); + continue; + } else { + // create a lock file + try { + fs.writeFileSync(lock, ''); + console.log("holding lock file", lock); + await delay(90 * 1000); // hold the lock for 90 seconds + fs.unlinkSync(lock); + break; + } catch (e){ + // some other test created it first + } + } + } + console.log("STARTING TEST:", new Date().toISOString()); +} \ No newline at end of file diff --git a/packages/amplify-e2e-core/src/utils/pinpoint.ts b/packages/amplify-e2e-core/src/utils/pinpoint.ts index 807c2e83470..e35600d4663 100644 --- a/packages/amplify-e2e-core/src/utils/pinpoint.ts +++ b/packages/amplify-e2e-core/src/utils/pinpoint.ts @@ -82,8 +82,8 @@ export async function pinpointAppExist(pinpointProjectId: string): Promise { - addCircleCITags(cwd); +export async function initProjectForPinpoint(cwd: string): Promise { + await addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { diff --git a/packages/amplify-e2e-tests/src/init-special-cases/index.ts b/packages/amplify-e2e-tests/src/init-special-cases/index.ts index 9d928a1d343..93bfbeb5ea8 100644 --- a/packages/amplify-e2e-tests/src/init-special-cases/index.ts +++ b/packages/amplify-e2e-tests/src/init-special-cases/index.ts @@ -41,7 +41,7 @@ export async function initWithoutCredentialFileAndNoNewUserSetup(projRoot) { } async function initWorkflow(cwd: string, settings: { accessKeyId: string; secretAccessKey: string; region: string }): Promise { - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { diff --git a/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts b/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts index 7b5efdf615e..239e416acb0 100644 --- a/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts +++ b/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts @@ -23,7 +23,7 @@ const defaultSettings = { permissionsBoundaryArn: undefined, }; -export function initJSProjectWithProfileV10(cwd: string, settings?: Partial): Promise { +export async function initJSProjectWithProfileV10(cwd: string, settings?: Partial): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -33,7 +33,7 @@ export function initJSProjectWithProfileV10(cwd: string, settings?: Partial { +export async function initJSProjectWithProfileV4_28_2(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -28,7 +28,7 @@ export function initJSProjectWithProfileV4_28_2(cwd: string, settings: Object, t }; } - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['init'], { cwd, stripColors: true, env }) @@ -66,7 +66,7 @@ export function initJSProjectWithProfileV4_28_2(cwd: string, settings: Object, t }); } -export function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { +export async function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -76,7 +76,7 @@ export function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, t }; } - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['init'], { cwd, stripColors: true, env }) @@ -116,10 +116,10 @@ export function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, t }); } -export function initAndroidProjectWithProfile(cwd: string, settings: Object): Promise { +export async function initAndroidProjectWithProfile(cwd: string, settings: Object): Promise { const s = { ...defaultSettings, ...settings }; - addCircleCITags(cwd); + await addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -147,9 +147,9 @@ export function initAndroidProjectWithProfile(cwd: string, settings: Object): Pr .wait('Please choose the profile you want to use') .sendLine(s.profileName) .wait(/Try "amplify add api" to create a backend API and then "amplify (push|publish)" to deploy everything/) - .run((err: Error) => { + .run(async (err: Error) => { if (!err) { - addCircleCITags(cwd); + await addCircleCITags(cwd); resolve(); } else { From 82fed6eba4b1ac0214420afbe5506b8de16f82ba Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 19:03:56 -0500 Subject: [PATCH 18/69] chore: cleanup logs --- packages/amplify-e2e-core/src/utils/add-circleci-tags.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index e2adcf180c6..69b379b6b8f 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -87,7 +87,7 @@ const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { while(true){ if(fs.existsSync(lock)) { await delay(1 * 1000);// wait - console.log("waiting to start"); + // console.log("waiting to start"); continue; } else { // create a lock file From e1b32afe557d9380b6b532b739f187077ef0f085 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 19:04:40 -0500 Subject: [PATCH 19/69] ci: increase randomness of initial lock creation --- packages/amplify-e2e-core/src/utils/add-circleci-tags.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index 69b379b6b8f..a7e1959d648 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -82,7 +82,7 @@ const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { const lock = path.join(projectPath, '..', 'lock.txt'); console.log(lock); // one test will create the lock first, 60 seconds should be enough to allow 1 test to do this first without collision risk - const initialDelay = Math.floor(Math.random() * 5 * 1000); + const initialDelay = Math.floor(Math.random() * 60 * 1000); await delay(initialDelay); while(true){ if(fs.existsSync(lock)) { From 7afc0adafebd5fe2083f7646e613014f72e2d458 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 20:28:19 -0500 Subject: [PATCH 20/69] chore: move migration tests to small isolated vms --- scripts/split-e2e-tests-v2.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index d0f1f4096c4..2529918d2d6 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -153,8 +153,9 @@ export const splitTestsV2 = function splitTests( // add the test currentJob.tests.push(test); - // create a new job once the current job is full - if(currentJob.tests.length >= MAX_TESTS_PER_JOB){ + // create a new job once the current job is full; + // migration tests are 1-1 due to limitations with older cli versions + if(isMigration || currentJob.tests.length >= MAX_TESTS_PER_JOB){ osJobs.push(createRandomJob(os)); } } @@ -232,7 +233,7 @@ export const splitTestsV2 = function splitTests( requires: requiredJobs, matrix: { parameters: { - os: newJobName.startsWith('l') ? ['l_large'] : ['w_medium'] + os: newJobName.startsWith('l') ? (isMigration ? ['l_medium'] : ['l_large']) : ['w_medium'] }, }, }, From 55111a83022f62cb77c0e98ea63aac6bd2031ffc Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 20:35:09 -0500 Subject: [PATCH 21/69] chore: adjust concurrency --- .circleci/config.base.yml | 12 ++++++------ .circleci/config.yml | 2 +- .circleci/local_publish_helpers.sh | 4 ++-- scripts/split-e2e-tests-v2.ts | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 0bce4f126ae..8af845dedc4 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -502,7 +502,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v6.1.0 --no-cache --maxWorkers=4 $TEST_SUITE + retry yarn run migration_v6.1.0 --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -534,7 +534,7 @@ jobs: cd packages/amplify-migration-tests unset IS_AMPLIFY_CI echo $IS_AMPLIFY_CI - retry yarn run migration_v10.5.1 --no-cache --maxWorkers=4 $TEST_SUITE + retry yarn run migration_v10.5.1 --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -564,7 +564,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkers=4 $TEST_SUITE + retry yarn run migration_v4.28.2_nonmultienv_layers --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -594,7 +594,7 @@ jobs: source .circleci/local_publish_helpers.sh changeNpmGlobalPath cd packages/amplify-migration-tests - retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkers=4 $TEST_SUITE + retry yarn run migration_v4.52.0_multienv_layers --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - run: *scan_e2e_test_artifacts - store_test_results: @@ -622,7 +622,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkers=4 + retry yarn run console-integration --no-cache --maxWorkers=3 name: 'Run Amplify Console integration tests' no_output_timeout: 90m - run: *scan_e2e_test_artifacts @@ -1260,7 +1260,7 @@ commands: command: | source .circleci/local_publish_helpers.sh cd packages/amplify-e2e-tests - retry yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE + retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 60m - when: condition: diff --git a/.circleci/config.yml b/.circleci/config.yml index 0767af3a7a1..bd08cac85e1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -159,7 +159,7 @@ jobs: source .circleci/local_publish_helpers.sh amplify -v cd packages/amplify-console-integration-tests - retry yarn run console-integration --no-cache --maxWorkers=4 + retry yarn run console-integration --no-cache --maxWorkers=3 name: Run Amplify Console integration tests no_output_timeout: 90m - run: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index 83b415ea364..f80d5617584 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -277,9 +277,9 @@ function runE2eTest { if [ -f $FAILED_TEST_REGEX_FILE ]; then # read the content of failed tests failedTests=$(<$FAILED_TEST_REGEX_FILE)= - yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE -t "$failedTests" + yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE -t "$failedTests" else - yarn run e2e --no-cache --maxWorkers=4 $TEST_SUITE + yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE fi } diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 2529918d2d6..10436c511ff 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -68,7 +68,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'uibuilder_pkg', ], } -const MAX_TESTS_PER_JOB = 5; +const MAX_TESTS_PER_JOB = 3; type OS_TYPE = 'w' | 'l'; type CandidateJob = { region: string, From eed73beca7eb4b20e6fd089bcab97744a571494d Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Thu, 29 Dec 2022 21:17:25 -0500 Subject: [PATCH 22/69] chore: update naming --- scripts/split-e2e-tests-v2.ts | 12 +++++++----- scripts/split-e2e-tests.ts | 10 ++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 10436c511ff..13237a7846f 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -111,7 +111,7 @@ const getShortNameForTestSuite = ( // ); export const splitTestsV2 = function splitTests( config: Readonly, - jobTag: string, + counts: { w: number, l: number}, baseJobName: string, workflowName: string, jobRootDir: string, @@ -168,13 +168,11 @@ export const splitTestsV2 = function splitTests( // section of the CircleCI config file let newJobConfigurations = {}; const generateJobConfigurations = (jobs: CandidateJob[]) => { - let index = 0; for(let j of jobs){ if(j.tests.length === 0){ continue; } - const firstTestName = getShortNameForTestSuite(j.tests[0]); - const jobName = `${j.os}_${jobTag}_${firstTestName.charAt(0)}_${index}`; + const jobName = `${j.os}_${j.os === 'l' ? counts.l : counts.w }${isMigration ? '_migration' : ''}`; newJobConfigurations = { ...newJobConfigurations, [jobName]: { @@ -186,7 +184,11 @@ export const splitTestsV2 = function splitTests( } } } - index ++; + if(j.os === 'l'){ + counts.l ++; + } else { + counts.w ++; + } } } generateJobConfigurations(linuxJobs); diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index 0b9ddd3cf9c..4fb1855cb21 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -448,9 +448,10 @@ function main(): void { const config = loadConfig(); validateArtifactStoragePaths(config); + const counts = { w: 0, l: 0 }; const splitPkgTests = splitTestsV2( config, - 'e2e', + counts, 'amplify_e2e_tests_pkg', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-e2e-tests'), @@ -459,7 +460,7 @@ function main(): void { ); const splitV5MigrationTests = splitTestsV2( splitPkgTests, - 'migrationV5', + counts, 'amplify_migration_tests_v5', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), @@ -470,7 +471,7 @@ function main(): void { ); const splitV6MigrationTests = splitTestsV2( splitV5MigrationTests, - 'migrationV6', + counts, 'amplify_migration_tests_v6', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), @@ -481,7 +482,7 @@ function main(): void { ); const splitV10MigrationTests = splitTestsV2( splitV6MigrationTests, - 'migrationV10', + counts, 'amplify_migration_tests_v10', 'build_test_deploy_v3', join(repoRoot, 'packages', 'amplify-migration-tests'), @@ -490,6 +491,7 @@ function main(): void { return tests.filter(testName => migrationFromV10Tests.find((t) => t === testName)); } ); + console.log(counts); saveConfig(splitV10MigrationTests); verifyConfig(); } From ebd0be2f5abdd2eb591f3b2dc0570f6efc2d47ed Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 01:22:19 -0500 Subject: [PATCH 23/69] ci: update reporter to better handle concurrent tests --- .../amplify-e2e-core/src/nexpect-reporter.js | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/amplify-e2e-core/src/nexpect-reporter.js b/packages/amplify-e2e-core/src/nexpect-reporter.js index 9f918800a42..24fae00ba00 100644 --- a/packages/amplify-e2e-core/src/nexpect-reporter.js +++ b/packages/amplify-e2e-core/src/nexpect-reporter.js @@ -3,6 +3,13 @@ const path = require('path'); const { v4: uuid } = require('uuid'); const localTemplatePath = path.resolve(__dirname, '../dist/index.html'); +const getShortNameForTestSuite = ( + testSuitePath) => { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); +} + function imgToBase64(imgPath) { const fileName = path.resolve(imgPath); if (fs.statSync(fileName).isFile()) { @@ -64,6 +71,7 @@ class AmplifyCLIExecutionReporter { fs.ensureDirSync(publicPath); const processedResults = results.testResults.map(result => { + const testName = getShortNameForTestSuite(result.testFilePath); // result is Array of TestResult: https://github.com/facebook/jest/blob/ac57282299c383320845fb9a026719de7ed3ee5e/packages/jest-test-result/src/types.ts#L90 const resultCopy = { ...result }; delete resultCopy.CLITestRunner; @@ -76,19 +84,24 @@ class AmplifyCLIExecutionReporter { const recordingWithPath = recordings.map((r, index) => { // the first command is always 'amplify', but r.cmd is the full path to the cli.. so this is more readable const commandAndParams = ['amplify']; - if(r.params){ - commandAndParams.push(...r.params); + if (r.params) { + commandAndParams.push(...r.params.map(p => { + if (p.length > 2 && p.startsWith('C:')) { + return ''; // windows - skip this param because its the full amplify exe path + } + return p; + })); } let sanitizedSections = []; - for(let section of commandAndParams){ + for (let section of commandAndParams) { // this ensures only alphanumeric values are in the file name sanitizedSections.push(section.replace(/[^a-z0-9]/gi, '_').toLowerCase()); } let suffix = sanitizedSections.join('_'); - if(suffix.length > 30){ - suffix = suffix.substring(0, 30); + if (suffix.length > 20) { + suffix = suffix.substring(0, 20); } - const castFile = `${new Date().getTime()}_${index}_${suffix}.cast`; + const castFile = `${testName}_${index}_${suffix}.cast`; const castFilePath = path.join(publicPath, castFile); fs.writeFileSync(castFilePath, r.recording); const rCopy = { ...r }; From b38e298317dd557079b04441cf9e48c9ef6e25bd Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 01:41:28 -0500 Subject: [PATCH 24/69] ci: add use parent account exceptions --- scripts/split-e2e-tests-v2.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 13237a7846f..53adf3e8747 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -3,7 +3,6 @@ import { WorkflowJob, repoRoot, generateJobName as oldJobName, - WINDOWS_TEST_SKIP_LIST, USE_PARENT_ACCOUNT, AWS_REGIONS_TO_RUN_TESTS as regions, FORCE_US_WEST_2, @@ -75,6 +74,7 @@ type CandidateJob = { os: OS_TYPE, executor: string, tests: string[], + useParentAccount: boolean, // intentially leaving this here - accounts are randomly assigned to jobs // by a via local_publish_helpers.sh script // account: string, @@ -90,7 +90,8 @@ const createRandomJob = (os: OS_TYPE) : CandidateJob => { region, os, executor: os === 'l' ? 'l_large' : 'w_medium', - tests: [] + tests: [], + useParentAccount: false, } } @@ -152,6 +153,11 @@ export const splitTestsV2 = function splitTests( // add the test currentJob.tests.push(test); + + if(currentJob.tests.some( + (t) => USE_PARENT_ACCOUNT.some((usesParent) => oldJobName(baseJobName, t).startsWith(usesParent)))) { + currentJob.useParentAccount = true; + } // create a new job once the current job is full; // migration tests are 1-1 due to limitations with older cli versions @@ -181,6 +187,7 @@ export const splitTestsV2 = function splitTests( ...(baseJob?.environment || {}), TEST_SUITE: j.tests.join('|'), CLI_REGION: j.region, + ...(j.useParentAccount ? { USE_PARENT_ACCOUNT: 1 } : {}) } } } From 4842214580fba586dc77e7342484a46ea1623d68 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 02:41:45 -0500 Subject: [PATCH 25/69] chore: cleanup naming, fix windows artifacts --- packages/amplify-e2e-core/src/nexpect-reporter.js | 6 +++++- scripts/split-e2e-tests-v2.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/amplify-e2e-core/src/nexpect-reporter.js b/packages/amplify-e2e-core/src/nexpect-reporter.js index 24fae00ba00..e9238a05a71 100644 --- a/packages/amplify-e2e-core/src/nexpect-reporter.js +++ b/packages/amplify-e2e-core/src/nexpect-reporter.js @@ -5,7 +5,11 @@ const localTemplatePath = path.resolve(__dirname, '../dist/index.html'); const getShortNameForTestSuite = ( testSuitePath) => { - const startIndex = testSuitePath.lastIndexOf('/') + 1; + let startIndex = testSuitePath.lastIndexOf('/') + 1; + if (testSuitePath.startsWith('C:')) { + // windows + startIndex = testSuitePath.lastIndexOf('\\') + 1; + } const endIndex = testSuitePath.lastIndexOf('.test'); return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); } diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 53adf3e8747..33b4fc8559e 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -178,7 +178,14 @@ export const splitTestsV2 = function splitTests( if(j.tests.length === 0){ continue; } - const jobName = `${j.os}_${j.os === 'l' ? counts.l : counts.w }${isMigration ? '_migration' : ''}`; + const names = j.tests.map(tn => getShortNameForTestSuite(tn)).join('_'); + // const jobName = `${j.os}_${j.os === 'l' ? counts.l : counts.w }${isMigration ? '_migration' : ''}`; + let jobName = `${j.os}_${names}`; + if(isMigration){ + const startIndex = baseJobName.lastIndexOf('_'); + jobName = jobName + baseJobName.substring(startIndex); + } + newJobConfigurations = { ...newJobConfigurations, [jobName]: { From 52094aa2e0d5111c716cfd9b21b896ae36f61a1e Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 20:18:47 -0500 Subject: [PATCH 26/69] chore: use data to optimize test scheduling --- .gitignore | 2 + package.json | 3 + .../src/utils/add-circleci-tags.ts | 16 +- scripts/cci-data.sh | 13 + scripts/cci-process-data.ts | 14 + scripts/cci-test-timings.data.json | 1070 +++++++++++++++++ scripts/cci-types.ts | 22 + scripts/cci-utils.ts | 193 +++ scripts/split-e2e-tests-v2.ts | 104 +- scripts/split-e2e-tests.ts | 376 +----- scripts/update-test-data.sh | 4 + 11 files changed, 1410 insertions(+), 407 deletions(-) create mode 100644 scripts/cci-data.sh create mode 100644 scripts/cci-process-data.ts create mode 100644 scripts/cci-test-timings.data.json create mode 100644 scripts/cci-types.ts create mode 100644 scripts/cci-utils.ts create mode 100644 scripts/update-test-data.sh diff --git a/.gitignore b/.gitignore index 7f7d0e8ed5f..40915b378d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ **/.DS_Store .circleci/generated_config.yml +scripts/cci-job.data.json +scripts/cci-test.data.json build !packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/ !packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/ diff --git a/package.json b/package.json index 5028e14f00e..11fe0bb7063 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,9 @@ "link-win": "node ./scripts/link-bin.js packages/amplify-cli/bin/amplify amplify-dev", "link-aa-win": "node ./scripts/link-bin.js packages/amplify-app/bin/amplify-app amplify-app-dev", "setup-dev-win": "yarn dev-build && yarn link-win && yarn link-aa-win", + "update-test-data": "source ./scripts/cci-data.sh && updateTestData", + "update-job-data": "source ./scripts/cci-data.sh && updateJobData", + "process-job-data": "yarn update-job-data && ts-node ./scripts/cci-process-data.ts", "split-e2e-tests": "yarn ts-node ./scripts/split-e2e-tests.ts && git add .circleci/config.yml", "verify-commit": "yarn ts-node ./scripts/verify-commit.ts", "pkg-clean": "rimraf build out pkg/node_modules pkg/yarn.lock", diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index a7e1959d648..ba4a1f7d8c1 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -19,7 +19,7 @@ function delay(ms) { } export const addCircleCITags = async (projectPath: string): Promise => { if (process.env && process.env['CIRCLECI']) { - await staggerTestsThatRunOnTheSameMachine(projectPath); + await staggerInitCalls(projectPath); const tags = stateManager.getProjectTags(projectPath); @@ -77,12 +77,10 @@ export function sanitizeTagValue(value: string): string { * * @param projectPath */ -const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { - console.log(projectPath); - const lock = path.join(projectPath, '..', 'lock.txt'); - console.log(lock); - // one test will create the lock first, 60 seconds should be enough to allow 1 test to do this first without collision risk - const initialDelay = Math.floor(Math.random() * 60 * 1000); +const staggerInitCalls = async (projectPath: string) => { + const lock = path.join(projectPath, '..', 'init-lock.txt'); + // one test will create the lock first, 15 seconds should be enough to allow 1 test to do this first without collision risk + const initialDelay = Math.floor(Math.random() * 15 * 1000); await delay(initialDelay); while(true){ if(fs.existsSync(lock)) { @@ -94,7 +92,7 @@ const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { try { fs.writeFileSync(lock, ''); console.log("holding lock file", lock); - await delay(90 * 1000); // hold the lock for 90 seconds + await delay(15 * 1000); // hold the lock for 15 seconds fs.unlinkSync(lock); break; } catch (e){ @@ -102,5 +100,5 @@ const staggerTestsThatRunOnTheSameMachine = async (projectPath: string) => { } } } - console.log("STARTING TEST:", new Date().toISOString()); + console.log("init called:", new Date().toISOString()); } \ No newline at end of file diff --git a/scripts/cci-data.sh b/scripts/cci-data.sh new file mode 100644 index 00000000000..29716312a1c --- /dev/null +++ b/scripts/cci-data.sh @@ -0,0 +1,13 @@ +function updateJobData { + curl --request GET \ + --url 'https://circleci.com/api/v2/insights/github/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/jobs?analytics-segmentation=web-ui-insights&all-branches=true&reporting-window=last-7-days' \ + --header "Circle-Token: $CIRCLECI_TOKEN" \ + -o ./scripts/cci-job.data.json +} + +function updateTestData { + curl --request GET \ + --url 'https://circleci.com/api/v2/insights/gh/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/test-metrics?branch=dev&all-branches=false' \ + --header "Circle-Token: $CIRCLECI_TOKEN" \ + -o ./scripts/cci-test.data.json +} \ No newline at end of file diff --git a/scripts/cci-process-data.ts b/scripts/cci-process-data.ts new file mode 100644 index 00000000000..fbf897f57a7 --- /dev/null +++ b/scripts/cci-process-data.ts @@ -0,0 +1,14 @@ +import { join } from "path"; +import { getTestFileRunTimes, getTestFiles, REPO_ROOT, saveTestTimings } from "./cci-utils"; + +function main(): void { + let testSuites = getTestFiles(join(REPO_ROOT, 'packages', 'amplify-e2e-tests')); + testSuites.push(...getTestFiles(join(REPO_ROOT, 'packages', 'amplify-migration-tests'))); + const runTimes = getTestFileRunTimes(testSuites); + saveTestTimings({ + lastUpdated: new Date().toISOString(), + totalTestFiles: runTimes.length, + timingData: runTimes + }); +} +main(); \ No newline at end of file diff --git a/scripts/cci-test-timings.data.json b/scripts/cci-test-timings.data.json new file mode 100644 index 00000000000..1fa87f4e0f6 --- /dev/null +++ b/scripts/cci-test-timings.data.json @@ -0,0 +1,1070 @@ +{ + "lastUpdated": "2022-12-30T23:45:39.659Z", + "totalTestFiles": 266, + "timingData": [ + { + "test": "src/__tests__/datastore-modelgen.test.ts", + "medianRuntime": 6 + }, + { + "test": "src/__tests__/migration_tests_v10/scaffold.test.ts", + "medianRuntime": 6 + }, + { + "test": "src/__tests__/migration_tests/overrides/auth-migration-d.test.ts", + "medianRuntime": 6 + }, + { + "test": "src/__tests__/amplify-app.test.ts", + "medianRuntime": 7 + }, + { + "test": "src/__tests__/diagnose.test.ts", + "medianRuntime": 7 + }, + { + "test": "src/__tests__/migration_tests/overrides/init-migration.test.ts", + "medianRuntime": 7 + }, + { + "test": "src/__tests__/hooks-a.test.ts", + "medianRuntime": 8 + }, + { + "test": "src/__tests__/mock-api.test.ts", + "medianRuntime": 8 + }, + { + "test": "src/__tests__/analytics-kinesis.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/analytics-pinpoint-flutter.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/analytics-pinpoint-js.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2a.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2b.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2c.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2d.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2e.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/auth_2f.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/notifications-lifecycle.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/uibuilder.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts", + "medianRuntime": 10 + }, + { + "test": "src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts", + "medianRuntime": 11 + }, + { + "test": "src/__tests__/notifications-analytics-compatibility-sms-2.test.ts", + "medianRuntime": 11 + }, + { + "test": "src/__tests__/migration_tests_v10/dotnet_runtime_update_migration.test.ts", + "medianRuntime": 11 + }, + { + "test": "src/__tests__/migration_tests/overrides/auth-migration-e.test.ts", + "medianRuntime": 11 + }, + { + "test": "src/__tests__/analytics-2.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/geo-remove-3.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/global_sandbox-c.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/hooks-b.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/notifications-analytics-compatibility-sms-1.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/plugin.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/studio-modelgen.test.ts", + "medianRuntime": 12 + }, + { + "test": "src/__tests__/geo-add-f.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/graphql-v2/custom-transformers.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/notifications-in-app-messaging-env-1.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/notifications-sms-pull.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/pull.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts", + "medianRuntime": 13 + }, + { + "test": "src/__tests__/auth_10.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/container-hosting.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/geo-add-e.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/init_b.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/notifications-apns.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/notifications-fcm.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/notifications-in-app-messaging-env-2.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/with-babel-config.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/migration_tests/overrides/api-migration-d.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/migration_tests/overrides/auth-migration-b.test.ts", + "medianRuntime": 14 + }, + { + "test": "src/__tests__/amplify-configure.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/env-2.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/init_d.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/init_f.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/migration_tests/overrides/api-migration-c.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/migration_tests/overrides/auth-migration-c.test.ts", + "medianRuntime": 15 + }, + { + "test": "src/__tests__/auth_5d.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/configure-project.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/git-clone-attach.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/init_c.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/layer-4.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/migration_tests/overrides/api-migration-b.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/migration_tests/overrides/auth-migration-a.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts", + "medianRuntime": 16 + }, + { + "test": "src/__tests__/function_2c.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/function_3b.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/function_4.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/interactions.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/schema-model-a.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/tags.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/migration_tests/overrides/api-migration-a.test.ts", + "medianRuntime": 17 + }, + { + "test": "src/__tests__/auth_1a.test.ts", + "medianRuntime": 18 + }, + { + "test": "src/__tests__/auth-trigger.test.ts", + "medianRuntime": 18 + }, + { + "test": "src/__tests__/custom_policies_function.test.ts", + "medianRuntime": 18 + }, + { + "test": "src/__tests__/function_6.test.ts", + "medianRuntime": 18 + }, + { + "test": "src/__tests__/storage-2.test.ts", + "medianRuntime": 18 + }, + { + "test": "src/__tests__/export.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/iam-permissions-boundary.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/migration/node.function.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/notifications-sms.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/schema-auth-4b.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/schema-model-e.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/schema-versioned.test.ts", + "medianRuntime": 19 + }, + { + "test": "src/__tests__/auth_1c.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/auth_5e.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/auth_8b.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/geo-add-b.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/import_dynamodb_2c.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/s3-sse.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/schema-auth-4a.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/schema-model-b.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/schema-model-d.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/migration_tests/overrides/apigw-ext-migration.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/update_tests/function_migration_update.test.ts", + "medianRuntime": 20 + }, + { + "test": "src/__tests__/auth_5f.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/env-3.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/env-4.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/frontend_config_drift.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/schema-auth-4d.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/schema-auth-6a.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/schema-data-access-patterns.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/schema-model-c.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/schema-predictions.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/transformer-migrations/model-migration.test.ts", + "medianRuntime": 21 + }, + { + "test": "src/__tests__/auth_3c.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/auth_4c.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/auth_5a.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/auth_5c.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/env-1.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/geo-add-a.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/init_a.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/schema-auth-4c.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/schema-auth-5c.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/update_tests/storage_migration_update.test.ts", + "medianRuntime": 22 + }, + { + "test": "src/__tests__/auth_5b.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/auth_9.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/custom_resources.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/env-5.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/function_10.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/function_9c.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/function-permissions.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/geo-import-1a.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/geo-import-2.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/geo-remove-2.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/global_sandbox-b.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/notifications-in-app-messaging.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/schema-auth-5d.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/schema-auth-6b.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/schema-auth-8c.test.ts", + "medianRuntime": 23 + }, + { + "test": "src/__tests__/auth_3a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/auth_3b.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/auth_4a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/auth_7a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/auth_8c.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/feature-flags.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/geo-import-1b.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/global_sandbox-a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/import_auth_2a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/init_e.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/notifications-analytics-compatibility-in-app-2.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-11-c.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-2b.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-6c.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-6d.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-7c.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/schema-auth-8a.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/transformer-migrations/function-migration.test.ts", + "medianRuntime": 24 + }, + { + "test": "src/__tests__/api_10.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/api_7.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/export-pull-a.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/function_9a.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/geo-headless.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/import_auth_1a.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/migration/api.key.migration5.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/schema-auth-1a.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/schema-auth-5b.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/schema-auth-8b.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/schema-auth-9-a.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/schema-auth-9-c.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/storage-3.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/update_tests/auth_migration_update.test.ts", + "medianRuntime": 25 + }, + { + "test": "src/__tests__/auth_11.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/auth_1b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/delete.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/geo-add-c.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/geo-add-d.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/geo-import-3.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/hosting.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/import_auth_2b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/import_s3_2a.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/import_s3_2c.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/layer-3.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/migration/api.connection.migration.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/migration/api.key.migration3.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/predictions.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-11-b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-1b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-2a.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-7a.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-7b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-auth-9-b.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/schema-iterative-rollback-1.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/transformer-migrations/predictions-migration.test.ts", + "medianRuntime": 26 + }, + { + "test": "src/__tests__/api_6a.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/auth_7b.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/export-pull-b.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/function_3a.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/import_auth_1b.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/init-special-case.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/schema-auth-11-a.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/transformer-migrations/http-migration.test.ts", + "medianRuntime": 27 + }, + { + "test": "src/__tests__/geo-update-1.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/geo-update-2.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/import_s3_3.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/schema-auth-12.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/schema-auth-3.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/schema-function-2.test.ts", + "medianRuntime": 28 + }, + { + "test": "src/__tests__/auth_4b.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/auth_8a.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/export-pull-d.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/schema-auth-5a.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/schema-iterative-rollback-2.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/schema-iterative-update-3.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/transformer-migrations/auth-migration.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts", + "medianRuntime": 29 + }, + { + "test": "src/__tests__/api_9a.test.ts", + "medianRuntime": 30 + }, + { + "test": "src/__tests__/export-pull-c.test.ts", + "medianRuntime": 30 + }, + { + "test": "src/__tests__/import_dynamodb_2b.test.ts", + "medianRuntime": 30 + }, + { + "test": "src/__tests__/api_8.test.ts", + "medianRuntime": 31 + }, + { + "test": "src/__tests__/function_8.test.ts", + "medianRuntime": 31 + }, + { + "test": "src/__tests__/schema-iterative-update-locking.test.ts", + "medianRuntime": 31 + }, + { + "test": "src/__tests__/graphql-v2/api_lambda_auth_2.test.ts", + "medianRuntime": 32 + }, + { + "test": "src/__tests__/layer-2.test.ts", + "medianRuntime": 32 + }, + { + "test": "src/__tests__/schema-auth-13.test.ts", + "medianRuntime": 32 + }, + { + "test": "src/__tests__/function_5.test.ts", + "medianRuntime": 33 + }, + { + "test": "src/__tests__/hostingPROD.test.ts", + "medianRuntime": 33 + }, + { + "test": "src/__tests__/schema-iterative-update-1.test.ts", + "medianRuntime": 33 + }, + { + "test": "src/__tests__/update_tests/api_migration_update.test.ts", + "medianRuntime": 33 + }, + { + "test": "src/__tests__/auth_6.test.ts", + "medianRuntime": 34 + }, + { + "test": "src/__tests__/function_2a.test.ts", + "medianRuntime": 34 + }, + { + "test": "src/__tests__/import_s3_2b.test.ts", + "medianRuntime": 34 + }, + { + "test": "src/__tests__/schema-connection-2.test.ts", + "medianRuntime": 34 + }, + { + "test": "src/__tests__/schema-function-1.test.ts", + "medianRuntime": 34 + }, + { + "test": "src/__tests__/api_9b.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/containers-api-1.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/custom_policies_container.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/function_9b.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/schema-auth-15.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/schema-connection-1.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/schema-iterative-update-2.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/function_11.test.ts", + "medianRuntime": 36 + }, + { + "test": "src/__tests__/function_2b.test.ts", + "medianRuntime": 36 + }, + { + "test": "src/__tests__/function_7.test.ts", + "medianRuntime": 36 + }, + { + "test": "src/__tests__/import_auth_3.test.ts", + "medianRuntime": 36 + }, + { + "test": "src/__tests__/migration/api.connection.migration2.test.ts", + "medianRuntime": 36 + }, + { + "test": "src/__tests__/api_4.test.ts", + "medianRuntime": 37 + }, + { + "test": "src/__tests__/containers-api-secrets.test.ts", + "medianRuntime": 37 + }, + { + "test": "src/__tests__/import_dynamodb_2a.test.ts", + "medianRuntime": 37 + }, + { + "test": "src/__tests__/storage-4.test.ts", + "medianRuntime": 37 + }, + { + "test": "src/__tests__/schema-auth-10.test.ts", + "medianRuntime": 38 + }, + { + "test": "src/__tests__/containers-api-2.test.ts", + "medianRuntime": 39 + }, + { + "test": "src/__tests__/geo-multi-env.test.ts", + "medianRuntime": 39 + }, + { + "test": "src/__tests__/graphql-v2/searchable-datastore.test.ts", + "medianRuntime": 39 + }, + { + "test": "src/__tests__/resolvers.test.ts", + "medianRuntime": 39 + }, + { + "test": "src/__tests__/schema-key.test.ts", + "medianRuntime": 39 + }, + { + "test": "src/__tests__/api_5.test.ts", + "medianRuntime": 40 + }, + { + "test": "src/__tests__/apigw.test.ts", + "medianRuntime": 40 + }, + { + "test": "src/__tests__/graphql-v2/api_lambda_auth_1.test.ts", + "medianRuntime": 40 + }, + { + "test": "src/__tests__/migration/api.key.migration2.test.ts", + "medianRuntime": 40 + }, + { + "test": "src/__tests__/schema-searchable.test.ts", + "medianRuntime": 40 + }, + { + "test": "src/__tests__/migration/api.key.migration1.test.ts", + "medianRuntime": 41 + }, + { + "test": "src/__tests__/schema-auth-14.test.ts", + "medianRuntime": 41 + }, + { + "test": "src/__tests__/api_3.test.ts", + "medianRuntime": 44 + }, + { + "test": "src/__tests__/api_6b.test.ts", + "medianRuntime": 44 + }, + { + "test": "src/__tests__/api_1.test.ts", + "medianRuntime": 46 + }, + { + "test": "src/__tests__/import_s3_1.test.ts", + "medianRuntime": 46 + }, + { + "test": "src/__tests__/layer-1.test.ts", + "medianRuntime": 46 + }, + { + "test": "src/__tests__/migration/api.key.migration4.test.ts", + "medianRuntime": 46 + }, + { + "test": "src/__tests__/transformer-migrations/searchable-migration.test.ts", + "medianRuntime": 50 + }, + { + "test": "src/__tests__/geo-remove-1.test.ts", + "medianRuntime": 51 + }, + { + "test": "src/__tests__/import_dynamodb_1.test.ts", + "medianRuntime": 52 + }, + { + "test": "src/__tests__/schema-iterative-update-4.test.ts", + "medianRuntime": 52 + }, + { + "test": "src/__tests__/storage-1.test.ts", + "medianRuntime": 56 + }, + { + "test": "src/__tests__/function_1.test.ts", + "medianRuntime": 68 + }, + { + "test": "src/__tests__/storage-5.test.ts", + "medianRuntime": 73 + }, + { + "test": "src/__tests__/api_2.test.ts", + "medianRuntime": 137 + } + ] +} \ No newline at end of file diff --git a/scripts/cci-types.ts b/scripts/cci-types.ts new file mode 100644 index 00000000000..de74bec62dd --- /dev/null +++ b/scripts/cci-types.ts @@ -0,0 +1,22 @@ +export type WorkflowJob = + | { + [name: string]: { + requires?: string[]; + }; + } + | string; + +export type CircleCIConfig = { + jobs: { + [name: string]: { + steps: Record; + environment: Record; + parallelism: number; + }; + }; + workflows: { + [workflowName: string]: { + jobs: WorkflowJob[]; + }; + }; +}; \ No newline at end of file diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts new file mode 100644 index 00000000000..ea8f68bb98b --- /dev/null +++ b/scripts/cci-utils.ts @@ -0,0 +1,193 @@ +import * as glob from 'glob'; +import * as fs from 'fs-extra'; +import { join } from 'path'; +import * as yaml from 'js-yaml'; +import { CircleCIConfig } from './cci-types'; + +// Ensure to update packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts is also updated this gets updated +export const AWS_REGIONS_TO_RUN_TESTS = [ + 'us-east-1', + 'us-east-2', + 'us-west-2', + 'eu-west-2', + 'eu-central-1', + 'ap-northeast-1', + 'ap-southeast-1', + 'ap-southeast-2', +]; + +// Some services (eg. amazon lex) are not available in all regions +// Tests added to this list will always run in us-west-2 +export const FORCE_US_WEST_2 = ['interactions']; + +// some tests require additional time, the parent account can handle longer tests (up to 90 minutes) +export const USE_PARENT_ACCOUNT = [ + 'import_dynamodb_1', + 'import_s3_1', + 'searchable-migration', +]; + +export const REPO_ROOT = join(__dirname, '..'); + +export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { + return glob.sync(pattern, { cwd: dir }); +} + +/** + * CircleCI test data is different from job data; each job may have multiple test files, + * and each test file may contain multiple tests. + * CircleCI reports this data at the testfile + testname specificity. + * + * The data in this file is at the TEST level. + */ +export function loadTestData(): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-test.data.json'); + return JSON.parse(fs.readFileSync(testData, 'utf-8')); +} +export function saveTestData(data: any): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-test.data.json'); + fs.writeFileSync(testData, JSON.stringify(data, null, 2)); +} + +/** + * CircleCI job data contains data for each job. + * + * The data in this file is at the JOB level. + */ +export function loadJobData(): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-job.data.json'); + return JSON.parse(fs.readFileSync(testData, 'utf-8')); +} +export function saveJobData(data: any): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-job.data.json'); + fs.writeFileSync(testData, JSON.stringify(data, null, 2)); +} + +/** + * CircleCI job data contains data for each job. + * + * The data in this file is at the JOB level. + */ +export function loadTestTimings(): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); + return JSON.parse(fs.readFileSync(testData, 'utf-8')); +} +export function saveTestTimings(data: any): any { + const testData = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); + fs.writeFileSync(testData, JSON.stringify(data, null, 2)); +} + +/** + * Config file + */ +export function loadConfig(): CircleCIConfig { + const configFile = join(REPO_ROOT, '.circleci', 'config.base.yml'); + return yaml.load(fs.readFileSync(configFile, 'utf8')); +} +export function saveConfig(config: CircleCIConfig): void { + const configFile = join(REPO_ROOT, '.circleci', 'generated_config.yml'); + const output = ['# auto generated file. Edit config.base.yaml if you want to change', yaml.dump(config, { noRefs: true })]; + fs.writeFileSync(configFile, output.join('\n')); +} + +export const getOldJobNameWithoutSuffixes = ( + testSuitePath: string): string => { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); +} + +/** + * The is how we generated job names when each file was assigned to a single job. + * + * @param baseJobName The root level folder (amplify-e2e-tests, amplify-migration-tests, etc...) + * @param testSuitePath The test file name (some-e2e-test.e2e.test.ts, some-test.test.ts) + * @returns + */ +export function getOldJobName(baseJobName: string, testSuitePath: string): string { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + let name = testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); + if (baseJobName.includes('pkg')) { + name = name + '_pkg'; + } + if (baseJobName.includes('amplify_migration_tests')) { + const startIndex = baseJobName.lastIndexOf('_'); + name = name + baseJobName.substring(startIndex); + } + return name; +} + +function getTestNameFromOldJobName(jobName: string){ + // first, remove any _pkg- from the name + let name = jobName.split('_pkg-')[0]; + + // remove migration suffixes + name = name.split('_v10-')[0]; + name = name.split('_v5-')[0]; + name = name.split('_v6-')[0]; + return name; +} + +function getTimingsFromJobs() { + const jobData = loadJobData(); + const jobTimings: Map = new Map(); + for(let job of jobData.items){ + const testName = getTestNameFromOldJobName(job.name); + const duration = Math.floor(job.metrics.duration_metrics.median / 60); + if(jobTimings.has(testName)){ + jobTimings.set(testName, Math.max(jobTimings.get(testName)!, duration)) + } else { + jobTimings.set(testName, duration); + } + } + return jobTimings; +} + +export const getTestFileRunTimes = (testSuites: string[]) => { + const jobTimings = getTimingsFromJobs(); + const testRuntimes = testSuites.map(t => { + const oldName = getOldJobNameWithoutSuffixes(t); + if(jobTimings.has(oldName)){ + return { + test: t, + medianRuntime: jobTimings.get(oldName) as number + } + } else { + console.log("Could not find timing for:", t); + return { + test: t, + medianRuntime: 10 // default for unknown + } + } + }) + return testRuntimes.sort((a,b) => { + return a.medianRuntime - b.medianRuntime; + }); +} + +export const getSlowestTestsRunTimes = (testSuites: string[]) => { + const testData = loadTestData(); + // default sorted by slowest -> fastest + const slowestTests: any[] = testData.slowest_tests.map((t:any) => { + return { + file: t.file, + duration: Math.floor(t.p95_duration / 60) + } + }) + + return testSuites.map(t => { + let slowTest = slowestTests.find(slowTest => slowTest.file === t); + if(slowTest){ + return { + test: t, + mins: slowTest.duration + } + } else { + return { + test: t, + mins: 10 // all "not slow" tests run in about 10 mins or less + } + } + }) +} \ No newline at end of file diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 33b4fc8559e..fea28163a05 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -1,16 +1,11 @@ +import { CircleCIConfig, WorkflowJob } from "./cci-types"; +import { FORCE_US_WEST_2, getOldJobName, getOldJobNameWithoutSuffixes, USE_PARENT_ACCOUNT } from './cci-utils'; import { - CircleCIConfig, - WorkflowJob, - repoRoot, - generateJobName as oldJobName, - USE_PARENT_ACCOUNT, - AWS_REGIONS_TO_RUN_TESTS as regions, - FORCE_US_WEST_2, - getTestFiles, - getLastBatchJobs, - replaceWorkflowDependency, - removeWorkflowJob -} from "./split-e2e-tests"; + getTestFileRunTimes, + AWS_REGIONS_TO_RUN_TESTS as regions, + getTestFiles +} from "./cci-utils"; + const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], w: [ @@ -67,7 +62,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'uibuilder_pkg', ], } -const MAX_TESTS_PER_JOB = 3; +const MAX_WORKERS = 3; type OS_TYPE = 'w' | 'l'; type CandidateJob = { region: string, @@ -96,20 +91,7 @@ const createRandomJob = (os: OS_TYPE) : CandidateJob => { } -const getShortNameForTestSuite = ( - testSuitePath: string): string => { - const startIndex = testSuitePath.lastIndexOf('/') + 1; - const endIndex = testSuitePath.lastIndexOf('.test'); - return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); -} -// const splitPkgTests = splitTests( -// config, -// 'amplify_e2e_tests_pkg', -// 'build_test_deploy_v3', -// join(repoRoot, 'packages', 'amplify-e2e-tests'), -// CONCURRENCY, -// undefined -// ); + export const splitTestsV2 = function splitTests( config: Readonly, counts: { w: number, l: number}, @@ -119,6 +101,8 @@ export const splitTestsV2 = function splitTests( isMigration: boolean, pickTests: ((testSuites: string[]) => string[]) | undefined, ): CircleCIConfig { + + const output: CircleCIConfig = { ...config }; const baseJobs = { ...config.jobs }; const baseJob = baseJobs[baseJobName]; @@ -130,6 +114,13 @@ export const splitTestsV2 = function splitTests( if(testSuites.length === 0){ return output; } + const testFileRunTimes = getTestFileRunTimes(testSuites); + + testSuites = testFileRunTimes.sort((a, b) => { + return a.medianRuntime - b.medianRuntime; + }).map(v => v.test); + + console.log(testSuites); const generateJobsForOS = (os: OS_TYPE) => { // migration tests are not supported for windows @@ -141,7 +132,7 @@ export const splitTestsV2 = function splitTests( const currentJob = osJobs[osJobs.length - 1]; // if the current test is excluded from this OS, skip it - const oldName = oldJobName(baseJobName, test); + const oldName = getOldJobName(baseJobName, test); if(TEST_EXCLUSIONS[os].find(excluded => oldName === excluded)) { continue; } @@ -155,13 +146,13 @@ export const splitTestsV2 = function splitTests( currentJob.tests.push(test); if(currentJob.tests.some( - (t) => USE_PARENT_ACCOUNT.some((usesParent) => oldJobName(baseJobName, t).startsWith(usesParent)))) { + (t) => USE_PARENT_ACCOUNT.some((usesParent) => getOldJobName(baseJobName, t).startsWith(usesParent)))) { currentJob.useParentAccount = true; } // create a new job once the current job is full; // migration tests are 1-1 due to limitations with older cli versions - if(isMigration || currentJob.tests.length >= MAX_TESTS_PER_JOB){ + if(isMigration || currentJob.tests.length >= MAX_WORKERS){ osJobs.push(createRandomJob(os)); } } @@ -178,7 +169,7 @@ export const splitTestsV2 = function splitTests( if(j.tests.length === 0){ continue; } - const names = j.tests.map(tn => getShortNameForTestSuite(tn)).join('_'); + const names = j.tests.map(tn => getOldJobNameWithoutSuffixes(tn)).join('_'); // const jobName = `${j.os}_${j.os === 'l' ? counts.l : counts.w }${isMigration ? '_migration' : ''}`; let jobName = `${j.os}_${names}`; if(isMigration){ @@ -272,4 +263,53 @@ export const splitTestsV2 = function splitTests( ...newJobConfigurations, }; return output; - } \ No newline at end of file + } + + + /** + * CircleCI workflow can have multiple jobs. This helper function removes the jobName from the workflow + * @param jobs - All the jobs in workflow + * @param jobName - job that needs to be removed from workflow + */ +export function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] { + return jobs.filter(j => { + if (typeof j === 'string') { + return j !== jobName; + } else { + const name = Object.keys(j)[0]; + return name !== jobName; + } + }); +} + +/** + * + * @param jobs array of job names + * @param concurrency number of concurrent jobs + */ +export function getLastBatchJobs(jobs: string[], concurrency: number): string[] { + const lastBatchJobLength = Math.min(concurrency, jobs.length); + const lastBatchJobNames = jobs.slice(jobs.length - lastBatchJobLength); + return lastBatchJobNames; +} + +/** + * A job in workflow can require some other job in the workflow to be finished before executing + * This helper method finds and replaces jobName with jobsToReplacesWith + * @param jobs - Workflow jobs + * @param jobName - job to remove from requires + * @param jobsToReplaceWith - jobs to add to requires + */ +export function replaceWorkflowDependency(jobs: WorkflowJob[], jobName: string, jobsToReplaceWith: string[]): WorkflowJob[] { + return jobs.map(j => { + if (typeof j === 'string') return j; + const [currentJobName, jobObj] = Object.entries(j)[0]; + const requires = jobObj.requires || []; + if (requires.includes(jobName)) { + jobObj.requires = [...requires.filter(r => r !== jobName), ...jobsToReplaceWith]; + } + return { + [currentJobName]: jobObj, + }; + }); +} \ No newline at end of file diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index 4fb1855cb21..be7190c4e9f 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -1,368 +1,11 @@ import * as execa from 'execa'; -import * as fs from 'fs-extra'; -import * as glob from 'glob'; -import * as yaml from 'js-yaml'; import { join } from 'path'; import { ARTIFACT_STORAGE_PATH_ALLOW_LIST } from './artifact-storage-path-allow-list'; +import { CircleCIConfig } from './cci-types'; +import { loadConfig, REPO_ROOT, saveConfig } from './cci-utils'; import { migrationFromV10Tests, migrationFromV5Tests, migrationFromV6Tests } from './split-e2e-test-filters'; import { splitTestsV2 } from './split-e2e-tests-v2'; -const CONCURRENCY = 35; -// Some our e2e tests are known to fail when run on windows hosts -// These are caused by issues with our test harness, not broken cli behavior on windows -// (examples: sending line endings when we shouldn't, java/gradle not installed on windows host) -// Each of these failures should be independently investigated, resolved, and removed from this list. -// For now, this list is being used to skip creation of circleci jobs for these tasks - -// Todo: update the split test strategy to use parallelization so circleci results dont go over the limits of github payload size -export const WINDOWS_TEST_SKIP_LIST: string[] = [ - 'amplify-app_pkg', - 'analytics-2_pkg', - 'api_migration_update_v5', - 'api_migration_update_v6', - 'api_2_pkg', - 'api_5_pkg', - 'api-key-migration_v5', - 'api-key-migration_v6', - 'api-key-migration-2_v5', - 'api-key-migration-2_v6', - 'api-migration-a_v5', - 'api-migration-a_v6', - 'api-migration-b_v5', - 'api-migration-b_v6', - 'api-migration-c_v5', - 'api-migration-c_v6', - 'api-migration-d_v5', - 'api-migration-d_v6', - 'apigw-ext-migration_v5', - 'apigw-ext-migration_v6', - 'auth_migration_update_v5', - 'auth_migration_update_v6', - 'auth-migration-a_v5', - 'auth-migration-a_v6', - 'auth-migration-b_v5', - 'auth-migration-b_v6', - 'auth-migration-c_v5', - 'auth-migration-c_v6', - 'auth-migration-d_v5', - 'auth-migration-d_v6', - 'auth-migration-e_v5', - 'auth-migration-e_v6', - 'datastore-modelgen_pkg', - 'delete_pkg', - 'diagnose_pkg', - 'dotnet_runtime_update_migration_v10', - 'env-2_pkg', - 'export_pkg', - 'function_1_pkg', - 'function_3a_pkg', - 'function_3b_pkg', - 'function_4_pkg', - 'function_6_pkg', - 'function_7_pkg', - 'function_8_pkg', - 'function_migration_update_v5', - 'function_migration_update_v6', - 'geo-add-e_pkg', - 'geo-add-f_pkg', - 'geo-remove-2_pkg', - 'geo-remove-3_pkg', - 'geo-update-1_pkg', - 'geo-update-2_pkg', - 'git-clone-attach_pkg', - 'hooks-a_pkg', - 'import_auth_1a_pkg', - 'import_auth_1b_pkg', - 'import_auth_2a_pkg', - 'import_auth_2b_pkg', - 'import_auth_3_pkg', - 'import_dynamodb_2a_pkg', - 'import_dynamodb_2c_pkg', - 'import_s3_2a_pkg', - 'import_s3_2c_pkg', - 'init-migration_v5', - 'init-migration_v6', - 'layer-2_pkg', - 'layer-migration_v5', - 'layer-migration_v6', - 'mock-api_pkg', - 'model-migration_pkg', - 'notifications-analytics-compatibility-in-app-1_pkg', - 'notifications-analytics-compatibility-sms-1_pkg', - 'notifications-analytics-compatibility-sms-2_pkg', - 'notifications-in-app-messaging-env-1_pkg', - 'notifications-in-app-messaging-env-2_pkg', - 'notifications-lifecycle_pkg', - 'notifications-migration_v5', - 'notifications-migration_v6', - 'notifications-migration-2_v5', - 'notifications-migration-2_v6', - 'notifications-migration-3_v5', - 'notifications-migration-3_v6', - 'notifications-migration-4_v5', - 'notifications-migration-4_v6', - 'notifications-sms_pkg', - 'notifications-sms-pull_pkg', - 'pull_pkg', - 'scaffold_v10', - 'schema-iterative-rollback-1_pkg', - 'schema-iterative-rollback-2_pkg', - 'searchable-migration_pkg', - 'storage-5_pkg', - 'storage_migration_update_v5', - 'storage_migration_update_v6', - 'studio-modelgen_pkg', - 'uibuilder_pkg', -]; - -// some tests may require a larger executor, specify those here -const JOBS_RUNNING_ON_LINUX_LARGE_VM: string[] = [ - 'api-migration-a_v6', - 'auth_migration_update_v6', - 'function-migration_pkg', - 'geo-add-f_pkg', - 'import_s3_2a_pkg', - 'model-migration_pkg', - 'notifications-migration-2_v5', - 'schema-auth-14_pkg', - 'schema-auth-15_pkg', - 'schema-searchable_pkg', -]; - -// Ensure to update packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts is also updated this gets updated -export const AWS_REGIONS_TO_RUN_TESTS = [ - 'us-east-1', - 'us-east-2', - 'us-west-2', - 'eu-west-2', - 'eu-central-1', - 'ap-northeast-1', - 'ap-southeast-1', - 'ap-southeast-2', -]; - -// Some services (eg. amazon lex) are not available in all regions -// Tests added to this list will always run in us-west-2 -export const FORCE_US_WEST_2 = ['interactions']; - -export const USE_PARENT_ACCOUNT = [ - 'import_dynamodb_1', - 'import_s3_1', - 'searchable-migration', -]; - -export type WorkflowJob = - | { - [name: string]: { - requires?: string[]; - }; - } - | string; - -export type CircleCIConfig = { - jobs: { - [name: string]: { - steps: Record; - environment: Record; - parallelism: number; - }; - }; - workflows: { - [workflowName: string]: { - jobs: WorkflowJob[]; - }; - }; -}; - -export const repoRoot = join(__dirname, '..'); - -export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { - return glob.sync(pattern, { cwd: dir }); -} - -export function generateJobName(baseName: string, testSuitePath: string): string { - const startIndex = testSuitePath.lastIndexOf('/') + 1; - const endIndex = testSuitePath.lastIndexOf('.test'); - let name = testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); - if (baseName.includes('pkg')) { - name = name + '_pkg'; - } - if (baseName.includes('amplify_migration_tests')) { - const startIndex = baseName.lastIndexOf('_'); - name = name + baseName.substring(startIndex); - } - return name; -} - -/** - * Takes a CircleCI config and converts each test inside that job into a separate - * job. - * @param config - CircleCI config - * @param jobName - job that should be split - * @param workflowName - workflow name where this job is run - * @param jobRootDir - Directory to scan for test files - * @param concurrency - Number of parallel jobs to run - */ -function splitTests( - config: Readonly, - jobName: string, - workflowName: string, - jobRootDir: string, - concurrency: number = CONCURRENCY, - pickTests: ((testSuites: string[]) => string[]) | undefined, -): CircleCIConfig { - const output: CircleCIConfig = { ...config }; - const jobs = { ...config.jobs }; - const job = jobs[jobName]; - let testSuites = getTestFiles(jobRootDir); - if(pickTests && typeof pickTests === 'function'){ - testSuites = pickTests(testSuites); - } - - const newJobs = testSuites.reduce((acc, suite, index) => { - const newJobName = generateJobName(jobName, suite); - const testRegion = FORCE_US_WEST_2.some(job => newJobName.startsWith(job)) - ? 'us-west-2' - : AWS_REGIONS_TO_RUN_TESTS[index % AWS_REGIONS_TO_RUN_TESTS.length]; - const newJob = { - ...job, - environment: { - ...(job?.environment || {}), - TEST_SUITE: suite, - CLI_REGION: testRegion, - ...(USE_PARENT_ACCOUNT.some(job => newJobName.startsWith(job)) ? { USE_PARENT_ACCOUNT: 1 } : {}), - }, - }; - return { ...acc, [newJobName]: newJob }; - }, {}); - - // Spilt jobs by region - const jobByRegion = Object.entries(newJobs).reduce((acc: Record, entry: [string, any]) => { - const [jobName, job] = entry; - const region = job?.environment?.CLI_REGION; - const regionJobs = { ...acc[region], [jobName]: job }; - return { ...acc, [region]: regionJobs }; - }, {}); - - const workflows = { ...config.workflows }; - - if (workflows[workflowName]) { - const workflow = workflows[workflowName]; - - const workflowJob = workflow.jobs.find(j => { - if (typeof j === 'string') { - return j === jobName; - } else { - const name = Object.keys(j)[0]; - return name === jobName; - } - }); - - if (workflowJob) { - Object.values(jobByRegion).forEach(regionJobs => { - const newJobNames = Object.keys(regionJobs as object); - const jobs = newJobNames.map((newJobName, index) => { - if (typeof workflowJob === 'string') { - return newJobName; - } else { - // for the most up-to-date list of executors for e2e, see the config.base.yml file - const linuxVMSize = JOBS_RUNNING_ON_LINUX_LARGE_VM.includes(newJobName) ? 'l_large' : 'l_medium'; - const windowsVMSize = 'w_medium'; - let requiredJobs = workflowJob[jobName].requires || []; - const skipWindows = WINDOWS_TEST_SKIP_LIST.includes(newJobName); - if (skipWindows) { - requiredJobs = requiredJobs.filter(j => j !== 'build_windows_workspace_for_e2e'); - } - return { - [newJobName]: { - ...Object.values(workflowJob)[0], - requires: requiredJobs, - matrix: { - parameters: { - os: skipWindows ? [linuxVMSize] : [linuxVMSize, windowsVMSize], - }, - }, - }, - }; - } - }); - workflow.jobs = [...workflow.jobs, ...jobs]; - }); - - const lastJobBatch = Object.values(jobByRegion) - .map(regionJobs => getLastBatchJobs(Object.keys(regionJobs as Object), concurrency)) - .reduce((acc, val) => acc.concat(val), []); - const filteredJobs = replaceWorkflowDependency(removeWorkflowJob(workflow.jobs, jobName), jobName, lastJobBatch); - workflow.jobs = filteredJobs; - } - output.workflows = workflows; - } - output.jobs = { - ...output.jobs, - ...newJobs, - }; - return output; -} - -/** - * CircleCI workflow can have multiple jobs. This helper function removes the jobName from the workflow - * @param jobs - All the jobs in workflow - * @param jobName - job that needs to be removed from workflow - */ -export function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] { - return jobs.filter(j => { - if (typeof j === 'string') { - return j !== jobName; - } else { - const name = Object.keys(j)[0]; - return name !== jobName; - } - }); -} - -/** - * - * @param jobs array of job names - * @param concurrency number of concurrent jobs - */ -export function getLastBatchJobs(jobs: string[], concurrency: number): string[] { - const lastBatchJobLength = Math.min(concurrency, jobs.length); - const lastBatchJobNames = jobs.slice(jobs.length - lastBatchJobLength); - return lastBatchJobNames; -} - -/** - * A job in workflow can require some other job in the workflow to be finished before executing - * This helper method finds and replaces jobName with jobsToReplacesWith - * @param jobs - Workflow jobs - * @param jobName - job to remove from requires - * @param jobsToReplaceWith - jobs to add to requires - */ -export function replaceWorkflowDependency(jobs: WorkflowJob[], jobName: string, jobsToReplaceWith: string[]): WorkflowJob[] { - return jobs.map(j => { - if (typeof j === 'string') return j; - const [currentJobName, jobObj] = Object.entries(j)[0]; - const requires = jobObj.requires || []; - if (requires.includes(jobName)) { - jobObj.requires = [...requires.filter(r => r !== jobName), ...jobsToReplaceWith]; - } - return { - [currentJobName]: jobObj, - }; - }); -} - -function loadConfig(): CircleCIConfig { - const configFile = join(repoRoot, '.circleci', 'config.base.yml'); - return yaml.load(fs.readFileSync(configFile, 'utf8')); -} - -function saveConfig(config: CircleCIConfig): void { - const configFile = join(repoRoot, '.circleci', 'generated_config.yml'); - const output = ['# auto generated file. Edit config.base.yaml if you want to change', yaml.dump(config, { noRefs: true })]; - fs.writeFileSync(configFile, output.join('\n')); -} - function verifyConfig() { if (process.env.CIRCLECI) { console.log('Skipping config verification since this is already running in a CCI environment.'); @@ -376,8 +19,8 @@ function verifyConfig() { ); process.exit(1); } - const cci_config_path = join(repoRoot, '.circleci', 'config.yml'); - const cci_generated_config_path = join(repoRoot, '.circleci', 'generated_config.yml'); + const cci_config_path = join(REPO_ROOT, '.circleci', 'config.yml'); + const cci_generated_config_path = join(REPO_ROOT, '.circleci', 'generated_config.yml'); try { execa.commandSync(`circleci config validate ${cci_config_path}`); } catch { @@ -446,15 +89,16 @@ function validateArtifactStoragePaths(config: CircleCIConfig) { function main(): void { const config = loadConfig(); - + validateArtifactStoragePaths(config); + const counts = { w: 0, l: 0 }; const splitPkgTests = splitTestsV2( config, counts, 'amplify_e2e_tests_pkg', 'build_test_deploy_v3', - join(repoRoot, 'packages', 'amplify-e2e-tests'), + join(REPO_ROOT, 'packages', 'amplify-e2e-tests'), false, undefined ); @@ -463,7 +107,7 @@ function main(): void { counts, 'amplify_migration_tests_v5', 'build_test_deploy_v3', - join(repoRoot, 'packages', 'amplify-migration-tests'), + join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { return tests.filter(testName => migrationFromV5Tests.find((t) => t === testName)); @@ -474,7 +118,7 @@ function main(): void { counts, 'amplify_migration_tests_v6', 'build_test_deploy_v3', - join(repoRoot, 'packages', 'amplify-migration-tests'), + join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { return tests.filter(testName => migrationFromV6Tests.find((t) => t === testName)); @@ -485,7 +129,7 @@ function main(): void { counts, 'amplify_migration_tests_v10', 'build_test_deploy_v3', - join(repoRoot, 'packages', 'amplify-migration-tests'), + join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { return tests.filter(testName => migrationFromV10Tests.find((t) => t === testName)); diff --git a/scripts/update-test-data.sh b/scripts/update-test-data.sh new file mode 100644 index 00000000000..986bc9ead23 --- /dev/null +++ b/scripts/update-test-data.sh @@ -0,0 +1,4 @@ +curl --request GET \ + --url 'https://circleci.com/api/v2/insights/gh/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/test-metrics?branch=dev&all-branches=false' \ + --header "Circle-Token: $CIRCLECI_TOKEN" \ + -o ./scripts/cci-test.data.json \ No newline at end of file From 4341105e43c58fa4debc7e8419b57deac1ca3ea8 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 20:31:29 -0500 Subject: [PATCH 27/69] chore: cleanup --- scripts/split-e2e-tests-v2.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index fea28163a05..2d85772e299 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -120,8 +120,6 @@ export const splitTestsV2 = function splitTests( return a.medianRuntime - b.medianRuntime; }).map(v => v.test); - console.log(testSuites); - const generateJobsForOS = (os: OS_TYPE) => { // migration tests are not supported for windows if(isMigration && os === 'w'){ From 11d2e941a865afb7b5a37181b30483a61fa02481 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 20:34:32 -0500 Subject: [PATCH 28/69] chore: cleanup --- scripts/update-test-data.sh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 scripts/update-test-data.sh diff --git a/scripts/update-test-data.sh b/scripts/update-test-data.sh deleted file mode 100644 index 986bc9ead23..00000000000 --- a/scripts/update-test-data.sh +++ /dev/null @@ -1,4 +0,0 @@ -curl --request GET \ - --url 'https://circleci.com/api/v2/insights/gh/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/test-metrics?branch=dev&all-branches=false' \ - --header "Circle-Token: $CIRCLECI_TOKEN" \ - -o ./scripts/cci-test.data.json \ No newline at end of file From 3b7efb35c7e336feb9dc5ee59e761e78f7b7c320 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 30 Dec 2022 21:05:29 -0500 Subject: [PATCH 29/69] chore: fix call flow --- scripts/cci-process-data.ts | 26 ++++++++++++++++++++++---- scripts/cci-test-timings.data.json | 2 +- scripts/cci-utils.ts | 26 ++------------------------ scripts/split-e2e-tests-v2.ts | 15 ++++++++------- 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/scripts/cci-process-data.ts b/scripts/cci-process-data.ts index fbf897f57a7..b480842531b 100644 --- a/scripts/cci-process-data.ts +++ b/scripts/cci-process-data.ts @@ -1,14 +1,32 @@ import { join } from "path"; -import { getTestFileRunTimes, getTestFiles, REPO_ROOT, saveTestTimings } from "./cci-utils"; +import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings } from "./cci-utils"; function main(): void { let testSuites = getTestFiles(join(REPO_ROOT, 'packages', 'amplify-e2e-tests')); testSuites.push(...getTestFiles(join(REPO_ROOT, 'packages', 'amplify-migration-tests'))); - const runTimes = getTestFileRunTimes(testSuites); + const jobTimings = getTimingsFromJobsData(); + const testRuntimes = testSuites.map(t => { + const oldName = getOldJobNameWithoutSuffixes(t); + if(jobTimings.has(oldName)){ + return { + test: t, + medianRuntime: jobTimings.get(oldName) as number + } + } else { + console.log("Could not find timing for:", t); + return { + test: t, + medianRuntime: 10 // default for unknown + } + } + }) + testRuntimes.sort((a,b) => { + return a.medianRuntime - b.medianRuntime; + }); saveTestTimings({ lastUpdated: new Date().toISOString(), - totalTestFiles: runTimes.length, - timingData: runTimes + totalTestFiles: testRuntimes.length, + timingData: testRuntimes }); } main(); \ No newline at end of file diff --git a/scripts/cci-test-timings.data.json b/scripts/cci-test-timings.data.json index 1fa87f4e0f6..c92f53b6466 100644 --- a/scripts/cci-test-timings.data.json +++ b/scripts/cci-test-timings.data.json @@ -1,5 +1,5 @@ { - "lastUpdated": "2022-12-30T23:45:39.659Z", + "lastUpdated": "2022-12-31T02:03:46.162Z", "totalTestFiles": 266, "timingData": [ { diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts index ea8f68bb98b..2fa4b29e992 100644 --- a/scripts/cci-utils.ts +++ b/scripts/cci-utils.ts @@ -68,7 +68,7 @@ export function saveJobData(data: any): any { * * The data in this file is at the JOB level. */ -export function loadTestTimings(): any { +export function loadTestTimings(): { timingData: { test: string, medianRuntime: number }[] }{ const testData = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); return JSON.parse(fs.readFileSync(testData, 'utf-8')); } @@ -129,7 +129,7 @@ function getTestNameFromOldJobName(jobName: string){ return name; } -function getTimingsFromJobs() { +export function getTimingsFromJobsData() { const jobData = loadJobData(); const jobTimings: Map = new Map(); for(let job of jobData.items){ @@ -144,28 +144,6 @@ function getTimingsFromJobs() { return jobTimings; } -export const getTestFileRunTimes = (testSuites: string[]) => { - const jobTimings = getTimingsFromJobs(); - const testRuntimes = testSuites.map(t => { - const oldName = getOldJobNameWithoutSuffixes(t); - if(jobTimings.has(oldName)){ - return { - test: t, - medianRuntime: jobTimings.get(oldName) as number - } - } else { - console.log("Could not find timing for:", t); - return { - test: t, - medianRuntime: 10 // default for unknown - } - } - }) - return testRuntimes.sort((a,b) => { - return a.medianRuntime - b.medianRuntime; - }); -} - export const getSlowestTestsRunTimes = (testSuites: string[]) => { const testData = loadTestData(); // default sorted by slowest -> fastest diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 2d85772e299..a2d3ef47cdf 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -1,7 +1,6 @@ import { CircleCIConfig, WorkflowJob } from "./cci-types"; -import { FORCE_US_WEST_2, getOldJobName, getOldJobNameWithoutSuffixes, USE_PARENT_ACCOUNT } from './cci-utils'; -import { - getTestFileRunTimes, +import { FORCE_US_WEST_2, getOldJobName, getOldJobNameWithoutSuffixes, loadTestTimings, USE_PARENT_ACCOUNT } from './cci-utils'; +import { AWS_REGIONS_TO_RUN_TESTS as regions, getTestFiles } from "./cci-utils"; @@ -114,11 +113,13 @@ export const splitTestsV2 = function splitTests( if(testSuites.length === 0){ return output; } - const testFileRunTimes = getTestFileRunTimes(testSuites); + const testFileRunTimes = loadTestTimings().timingData; - testSuites = testFileRunTimes.sort((a, b) => { - return a.medianRuntime - b.medianRuntime; - }).map(v => v.test); + testSuites.sort((a, b) => { + const runtimeA = testFileRunTimes.find((t) => t.test === a)?.medianRuntime ?? 30; + const runtimeB = testFileRunTimes.find((t) => t.test === b)?.medianRuntime ?? 30; + return runtimeA - runtimeB; + }); const generateJobsForOS = (os: OS_TYPE) => { // migration tests are not supported for windows From 62b9f9e8e892cb56bdff4fc5850ee816affb317c Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 00:10:52 -0500 Subject: [PATCH 30/69] chore: workaround duplicate spinner bugs --- packages/amplify-cli/src/commands/push.ts | 8 ++++---- packages/amplify-cli/src/initialize-env.ts | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/amplify-cli/src/commands/push.ts b/packages/amplify-cli/src/commands/push.ts index 89723ddde86..15881e9289d 100644 --- a/packages/amplify-cli/src/commands/push.ts +++ b/packages/amplify-cli/src/commands/push.ts @@ -3,9 +3,9 @@ import { $TSContext, AmplifyError, AmplifyFault, - spinner, stateManager, } from 'amplify-cli-core'; +import { printer } from 'amplify-prompts'; import sequential from 'promise-sequential'; import { notifyFieldAuthSecurityChange, @@ -43,11 +43,11 @@ const syncCurrentCloudBackend = async (context: $TSContext): Promise => { securityChangeNotified = await notifyListQuerySecurityChange(context); } - spinner.start(`Fetching updates to backend environment: ${currentEnv} from the cloud.`); + printer.info(`Fetching updates to backend environment: ${currentEnv} from the cloud.`); await sequential(pullCurrentCloudTasks); - spinner.succeed(`Successfully pulled backend environment ${currentEnv} from the cloud.`); + printer.success(`Successfully pulled backend environment ${currentEnv} from the cloud.`); } catch (e) { - spinner.fail(`There was an error pulling the backend environment ${currentEnv}.`); + printer.error(`There was an error pulling the backend environment ${currentEnv}.`); throw new AmplifyFault('BackendPullFault', { message: e.message }, e); } }; diff --git a/packages/amplify-cli/src/initialize-env.ts b/packages/amplify-cli/src/initialize-env.ts index 5dd513050be..f36c9187a52 100644 --- a/packages/amplify-cli/src/initialize-env.ts +++ b/packages/amplify-cli/src/initialize-env.ts @@ -8,8 +8,6 @@ import { ensureEnvParamManager, IEnvironmentParameterManager } from '@aws-amplif import { getProviderPlugins } from './extensions/amplify-helpers/get-provider-plugins'; import { ManuallyTimedCodePath } from './domain/amplify-usageData/UsageDataTypes'; -const spinner = ora(''); - /** * Entry point for initializing an environment. Delegates out to plugins initEnv function */ @@ -79,8 +77,8 @@ export const initializeEnv = async ( } } - spinner.start( - isPulling ? `Fetching updates to backend environment: ${currentEnv} from the cloud.` : `Initializing your environment: ${currentEnv}`, + printer.info( + isPulling ? `Fetching updates to backend environment: ${currentEnv} from the cloud.` : `Initializing your environment: ${currentEnv}` ); try { @@ -95,8 +93,8 @@ export const initializeEnv = async ( context.usageData.stopCodePathTimer(ManuallyTimedCodePath.INIT_ENV_PLATFORM); } - spinner.succeed( - isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.', + printer.info( + isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.' ); const projectDetails = context.amplify.getProjectDetails(); @@ -138,8 +136,8 @@ export const initializeEnv = async ( printer.success(isPulling ? '' : 'Initialized your environment successfully.'); } catch (e) { - // let the error propagate up after we safely exit the spinner - spinner.fail('There was an error initializing your environment.'); + // let the error propagate up after we safely exit + printer.error('There was an error initializing your environment.'); throw e; } }; From c1678e17f1f7e9b27f88cfe2733a0987b50e15e1 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 02:28:32 -0500 Subject: [PATCH 31/69] ci: split api_2 test --- .../{api_2.test.ts => api_2a.test.ts} | 77 ----------- .../src/__tests__/api_2b.test.ts | 120 ++++++++++++++++++ scripts/split-e2e-tests-v2.ts | 3 +- 3 files changed, 122 insertions(+), 78 deletions(-) rename packages/amplify-e2e-tests/src/__tests__/{api_2.test.ts => api_2a.test.ts} (62%) create mode 100644 packages/amplify-e2e-tests/src/__tests__/api_2b.test.ts diff --git a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_2a.test.ts similarity index 62% rename from packages/amplify-e2e-tests/src/__tests__/api_2.test.ts rename to packages/amplify-e2e-tests/src/__tests__/api_2a.test.ts index 95dc34a89e2..aaf0f14f4f8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_2a.test.ts @@ -6,14 +6,11 @@ import { createNewProjectDir, deleteProject, deleteProjectDir, - enableAdminUI, getAppSyncApi, - getLocalEnvInfo, getProjectMeta, getTransformConfig, initJSProjectWithProfile, updateApiSchema, - updateAPIWithResolutionStrategyWithModels, } from '@aws-amplify/amplify-e2e-core'; import AWSAppSyncClient, { AUTH_TYPE, @@ -173,78 +170,4 @@ describe('amplify add api (GraphQL)', () => { expect(_.isEmpty(disableDSConfig.ResolverConfig)).toBe(true); }); - it('init a project with conflict detection enabled and admin UI enabled to generate DataStore models in the cloud', async () => { - // eslint-disable-next-line spellcheck/spell-checker - const name = 'dsadminui'; - await initJSProjectWithProfile(projRoot, { disableAmplifyAppCreation: false, name }); - - let meta = getProjectMeta(projRoot); - const appId = meta.providers?.[providerName]?.AmplifyAppId; - const region = meta.providers?.[providerName]?.Region; - - expect(appId).toBeDefined(); - - const localEnvInfo = getLocalEnvInfo(projRoot); - const { envName } = localEnvInfo; - - // setup Amplify Studio backend - await enableAdminUI(appId, envName, region); - - await addApiWithBlankSchemaAndConflictDetection(projRoot, { transformerVersion: 1 }); - await updateApiSchema(projRoot, name, 'simple_model.graphql'); - await amplifyPush(projRoot); - - meta = getProjectMeta(projRoot); - - const { output } = meta.api[name]; - const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; - - expect(GraphQLAPIIdOutput).toBeDefined(); - expect(GraphQLAPIEndpointOutput).toBeDefined(); - expect(GraphQLAPIKeyOutput).toBeDefined(); - - const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, meta.providers.awscloudformation.Region); - - expect(graphqlApi).toBeDefined(); - expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); - }); - - it('init a sync enabled project and update conflict resolution strategy', async () => { - // eslint-disable-next-line spellcheck/spell-checker - const name = 'syncenabled'; - await initJSProjectWithProfile(projRoot, { name }); - await addApiWithBlankSchemaAndConflictDetection(projRoot, { transformerVersion: 1 }); - await updateApiSchema(projRoot, name, 'simple_model.graphql'); - - let transformConfig = getTransformConfig(projRoot, name); - expect(transformConfig).toBeDefined(); - expect(transformConfig.ResolverConfig).toBeDefined(); - expect(transformConfig.ResolverConfig.project).toBeDefined(); - expect(transformConfig.ResolverConfig.project.ConflictDetection).toEqual('VERSION'); - expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('AUTOMERGE'); - - await updateAPIWithResolutionStrategyWithModels(projRoot, {}); - - transformConfig = getTransformConfig(projRoot, name); - expect(transformConfig).toBeDefined(); - expect(transformConfig.Version).toBeDefined(); - expect(transformConfig.Version).toEqual(TRANSFORM_CURRENT_VERSION); - expect(transformConfig.ResolverConfig).toBeDefined(); - expect(transformConfig.ResolverConfig.project).toBeDefined(); - expect(transformConfig.ResolverConfig.project.ConflictDetection).toEqual('VERSION'); - expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('OPTIMISTIC_CONCURRENCY'); - - await amplifyPush(projRoot); - const meta = getProjectMeta(projRoot); - const { output } = meta.api[name]; - const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; - const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, meta.providers.awscloudformation.Region); - - expect(GraphQLAPIIdOutput).toBeDefined(); - expect(GraphQLAPIEndpointOutput).toBeDefined(); - expect(GraphQLAPIKeyOutput).toBeDefined(); - - expect(graphqlApi).toBeDefined(); - expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); - }); }); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_2b.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_2b.test.ts new file mode 100644 index 00000000000..d55285fb3d6 --- /dev/null +++ b/packages/amplify-e2e-tests/src/__tests__/api_2b.test.ts @@ -0,0 +1,120 @@ +import { + addApiWithBlankSchemaAndConflictDetection, + amplifyPush, + createNewProjectDir, + deleteProject, + deleteProjectDir, + enableAdminUI, + getAppSyncApi, + getLocalEnvInfo, + getProjectMeta, + getTransformConfig, + initJSProjectWithProfile, + updateApiSchema, + updateAPIWithResolutionStrategyWithModels, +} from '@aws-amplify/amplify-e2e-core'; +import { + existsSync, +} from 'fs'; +import { + TRANSFORM_CURRENT_VERSION, +} from 'graphql-transformer-core'; +import _ from 'lodash'; +import * as path from 'path'; + +const providerName = 'awscloudformation'; + +// to deal with bug in cognito-identity-js +(global as any).fetch = require('node-fetch'); +// to deal with subscriptions in node env +(global as any).WebSocket = require('ws'); + +describe('amplify add api (GraphQL)', () => { + let projRoot: string; + beforeEach(async () => { + projRoot = await createNewProjectDir('graphql-api'); + }); + + afterEach(async () => { + const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); + if (existsSync(metaFilePath)) { + await deleteProject(projRoot); + } + deleteProjectDir(projRoot); + }); + + it('init a project with conflict detection enabled and admin UI enabled to generate DataStore models in the cloud', async () => { + // eslint-disable-next-line spellcheck/spell-checker + const name = 'dsadminui'; + await initJSProjectWithProfile(projRoot, { disableAmplifyAppCreation: false, name }); + + let meta = getProjectMeta(projRoot); + const appId = meta.providers?.[providerName]?.AmplifyAppId; + const region = meta.providers?.[providerName]?.Region; + + expect(appId).toBeDefined(); + + const localEnvInfo = getLocalEnvInfo(projRoot); + const { envName } = localEnvInfo; + + // setup Amplify Studio backend + await enableAdminUI(appId, envName, region); + + await addApiWithBlankSchemaAndConflictDetection(projRoot, { transformerVersion: 1 }); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); + await amplifyPush(projRoot); + + meta = getProjectMeta(projRoot); + + const { output } = meta.api[name]; + const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + + expect(GraphQLAPIIdOutput).toBeDefined(); + expect(GraphQLAPIEndpointOutput).toBeDefined(); + expect(GraphQLAPIKeyOutput).toBeDefined(); + + const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, meta.providers.awscloudformation.Region); + + expect(graphqlApi).toBeDefined(); + expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + }); + + it('init a sync enabled project and update conflict resolution strategy', async () => { + // eslint-disable-next-line spellcheck/spell-checker + const name = 'syncenabled'; + await initJSProjectWithProfile(projRoot, { name }); + await addApiWithBlankSchemaAndConflictDetection(projRoot, { transformerVersion: 1 }); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); + + let transformConfig = getTransformConfig(projRoot, name); + expect(transformConfig).toBeDefined(); + expect(transformConfig.ResolverConfig).toBeDefined(); + expect(transformConfig.ResolverConfig.project).toBeDefined(); + expect(transformConfig.ResolverConfig.project.ConflictDetection).toEqual('VERSION'); + expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('AUTOMERGE'); + + await updateAPIWithResolutionStrategyWithModels(projRoot, {}); + + transformConfig = getTransformConfig(projRoot, name); + expect(transformConfig).toBeDefined(); + expect(transformConfig.Version).toBeDefined(); + expect(transformConfig.Version).toEqual(TRANSFORM_CURRENT_VERSION); + expect(transformConfig.ResolverConfig).toBeDefined(); + expect(transformConfig.ResolverConfig.project).toBeDefined(); + expect(transformConfig.ResolverConfig.project.ConflictDetection).toEqual('VERSION'); + expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('OPTIMISTIC_CONCURRENCY'); + + await amplifyPush(projRoot); + const meta = getProjectMeta(projRoot); + const { output } = meta.api[name]; + const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, meta.providers.awscloudformation.Region); + + expect(GraphQLAPIIdOutput).toBeDefined(); + expect(GraphQLAPIEndpointOutput).toBeDefined(); + expect(GraphQLAPIKeyOutput).toBeDefined(); + + expect(graphqlApi).toBeDefined(); + expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + }); +}); diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index a2d3ef47cdf..9a509f1de65 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -10,7 +10,8 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { w: [ 'amplify-app_pkg', 'analytics-2_pkg', - 'api_2_pkg', + 'api_2a_pkg', + 'api_2b_pkg', 'api_5_pkg', 'datastore-modelgen_pkg', 'delete_pkg', From 304c345389172d46bf93583904b73de7a098295f Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 02:31:45 -0500 Subject: [PATCH 32/69] chore: increase push timeout --- packages/amplify-e2e-core/src/init/amplifyPush.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/init/amplifyPush.ts b/packages/amplify-e2e-core/src/init/amplifyPush.ts index 878355d071a..3b60e5c3c4d 100644 --- a/packages/amplify-e2e-core/src/init/amplifyPush.ts +++ b/packages/amplify-e2e-core/src/init/amplifyPush.ts @@ -17,7 +17,7 @@ import { getCLIPath, nspawn as spawn } from '..'; -const pushTimeoutMS = 1000 * 60 * 20; // 20 minutes; +const pushTimeoutMS = 1000 * 60 * 45; // 45 minutes; /** * Data structure defined for Layer Push From c1c2ef9762a2638c73c4119fb943cd7f8b25c61b Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 03:18:18 -0500 Subject: [PATCH 33/69] ci: add method to run solo tests --- scripts/split-e2e-tests-v2.ts | 41 ++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 9a509f1de65..23768271ead 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -4,7 +4,10 @@ import { AWS_REGIONS_TO_RUN_TESTS as regions, getTestFiles } from "./cci-utils"; - +const RUN_SOLO = [ + 'auth_2e_pkg', + 'notifications-in-app-messaging_pkg', +] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], w: [ @@ -127,6 +130,7 @@ export const splitTestsV2 = function splitTests( if(isMigration && os === 'w'){ return []; } + const soloJobs = []; const osJobs = [createRandomJob(os)]; for(let test of testSuites){ const currentJob = osJobs[osJobs.length - 1]; @@ -136,17 +140,28 @@ export const splitTestsV2 = function splitTests( if(TEST_EXCLUSIONS[os].find(excluded => oldName === excluded)) { continue; } + const US_WEST_2 = FORCE_US_WEST_2.find(t => oldName.startsWith(t)); + const USE_PARENT = USE_PARENT_ACCOUNT.some((usesParent) => oldName.startsWith(usesParent)); - // some tests only run on us-west-2, we can just switch the region - if(FORCE_US_WEST_2.find(t => oldName.startsWith(t))){ - currentJob.region = 'us-west-2'; + if(RUN_SOLO.find(solo => oldName === solo)){ + const newSoloJob = createRandomJob(os); + newSoloJob.tests.push(test); + if(US_WEST_2){ + newSoloJob.region = 'us-west-2'; + } + if(USE_PARENT){ + newSoloJob.useParentAccount = true; + } + soloJobs.push(newSoloJob); + continue; } - + // add the test currentJob.tests.push(test); - - if(currentJob.tests.some( - (t) => USE_PARENT_ACCOUNT.some((usesParent) => getOldJobName(baseJobName, t).startsWith(usesParent)))) { + if(US_WEST_2){ + currentJob.region = 'us-west-2'; + } + if(USE_PARENT){ currentJob.useParentAccount = true; } @@ -223,24 +238,30 @@ export const splitTestsV2 = function splitTests( }); if (workflowJob) { - Object.values(jobByRegion).forEach(regionJobs => { + Object.values(jobByRegion).forEach((regionJobs: any) => { const newJobNames = Object.keys(regionJobs as object); const jobs = newJobNames.map((newJobName, index) => { if (typeof workflowJob === 'string') { return newJobName; } else { + const isSingleTest = regionJobs[newJobName].environment.TEST_SUITE.split('|').length === 1; let requiredJobs = workflowJob[baseJobName].requires || []; // don't need to wait on windows if this is a linux test if (newJobName.startsWith('l')) { requiredJobs = requiredJobs.filter(j => j !== 'build_windows_workspace_for_e2e'); } + // we can downsize on linux + let runner = (isMigration || isSingleTest) ? 'l_medium' : 'l_large'; + if(!newJobName.startsWith('l')){ + runner = 'w_medium';// w_medium is the smallest we can go for windows + } return { [newJobName]: { ...Object.values(workflowJob)[0], requires: requiredJobs, matrix: { parameters: { - os: newJobName.startsWith('l') ? (isMigration ? ['l_medium'] : ['l_large']) : ['w_medium'] + os: [runner] }, }, }, From bcde99e10c0058c23ac4ac6f325271ca12acc83b Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 03:37:21 -0500 Subject: [PATCH 34/69] ci: configure retries compatible with worker pools --- jest.config.js | 1 + setup-jest.js | 1 + 2 files changed, 2 insertions(+) create mode 100644 setup-jest.js diff --git a/jest.config.js b/jest.config.js index 11d2df11357..5b309fc82b0 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', + setupFilesAfterEnv: ['/setup-jest.js'], bail: false, verbose: true, testRunner: 'jest-circus/runner', diff --git a/setup-jest.js b/setup-jest.js new file mode 100644 index 00000000000..c7bc7106dea --- /dev/null +++ b/setup-jest.js @@ -0,0 +1 @@ +jest.retryTimes(2); \ No newline at end of file From 9482eb447576e5199bbe99db545b3ec708690a85 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 03:38:45 -0500 Subject: [PATCH 35/69] ci: workaround concurrent polling limits --- .../src/aws-utils/aws-cfn.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js index 28040b5e614..c53e2acdbfc 100644 --- a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js +++ b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js @@ -21,8 +21,8 @@ const { initializeProgressBars } = require('./aws-cfn-progress-formatter'); const { printer } = require('amplify-prompts'); const CFN_MAX_CONCURRENT_REQUEST = 5; -const CFN_POLL_TIME = 5 * 1000; // 5 secs wait to check if new stacks are created by root stack -const CFN_POLL_TIME_MAX = 30 * 1000; // 30 seconds +const CFN_POLL_TIME = (process.env.IS_AMPLIFY_CI ? 15 : 5) * 1000; // 5 secs wait to check if new stacks are created by root stack +const CFN_POLL_TIME_MAX = (process.env.IS_AMPLIFY_CI ? 60 : 30) * 1000; // 30 seconds let CFNLOG = []; const CFN_SUCCESS_STATUS = ['UPDATE_COMPLETE', 'CREATE_COMPLETE', 'DELETE_COMPLETE', 'DELETE_SKIPPED']; @@ -214,7 +214,7 @@ class CloudFormation { } else { newEvents = events; } - if(this.eventMap && + if (this.eventMap && this.progressBar.isTTY()) { this.showEventProgress(_.uniqBy(newEvents, 'EventId')); } @@ -238,16 +238,17 @@ class CloudFormation { ResourceType: event.ResourceType, ResourceStatus: event.ResourceStatus, Timestamp: event.Timestamp - }} + } + } const item = this.eventMap['rootResources'].find(it => it.key === event.LogicalResourceId) - if(event.LogicalResourceId === this.eventMap['rootStackName'] || item) { + if (event.LogicalResourceId === this.eventMap['rootStackName'] || item) { // If the root resource for a category has already finished, then we do not have to wait for all events under it. if (finishStatus && item && item.category) { this.progressBar.finishBar(item.category) } this.progressBar.updateBar('projectBar', updateObj); } - else if(this.eventMap['eventToCategories']){ + else if (this.eventMap['eventToCategories']) { const category = this.eventMap['eventToCategories'].get(event.LogicalResourceId); if (category) { this.progressBar.updateBar(category, updateObj); @@ -298,7 +299,7 @@ class CloudFormation { const { amplifyMeta } = this.context.amplify.getProjectDetails(); const providerMeta = amplifyMeta.providers ? amplifyMeta.providers[providerName] : {}; - const stackName = providerMeta.StackName || ''; + const stackName = providerMeta.StackName || ''; const stackId = providerMeta.StackId || ''; const deploymentBucketName = amplifyMeta.providers From ae166d6ce923c881bb6ea10fa4cef81a6bee5beb Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 03:50:31 -0500 Subject: [PATCH 36/69] chore: fix bug with solo tests --- scripts/split-e2e-tests-v2.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 23768271ead..e905a426746 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -155,7 +155,7 @@ export const splitTestsV2 = function splitTests( soloJobs.push(newSoloJob); continue; } - + // add the test currentJob.tests.push(test); if(US_WEST_2){ @@ -171,7 +171,7 @@ export const splitTestsV2 = function splitTests( osJobs.push(createRandomJob(os)); } } - return osJobs; + return [...osJobs, ...soloJobs]; } const linuxJobs = generateJobsForOS('l'); const windowsJobs = generateJobsForOS('w'); From 31c0f8156b403a246ac0a43afb01236256cb5581 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 11:40:33 -0500 Subject: [PATCH 37/69] chore: move import & geo tests to run solo --- .../src/aws-utils/aws-cfn.js | 4 ++-- scripts/split-e2e-tests-v2.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js index c53e2acdbfc..c29726b788d 100644 --- a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js +++ b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js @@ -21,8 +21,8 @@ const { initializeProgressBars } = require('./aws-cfn-progress-formatter'); const { printer } = require('amplify-prompts'); const CFN_MAX_CONCURRENT_REQUEST = 5; -const CFN_POLL_TIME = (process.env.IS_AMPLIFY_CI ? 15 : 5) * 1000; // 5 secs wait to check if new stacks are created by root stack -const CFN_POLL_TIME_MAX = (process.env.IS_AMPLIFY_CI ? 60 : 30) * 1000; // 30 seconds +const CFN_POLL_TIME = (process.env.IS_AMPLIFY_CI ? 30 : 5) * 1000; // 5 secs wait to check if new stacks are created by root stack +const CFN_POLL_TIME_MAX = (process.env.IS_AMPLIFY_CI ? 120 : 30) * 1000; // 30 seconds let CFNLOG = []; const CFN_SUCCESS_STATUS = ['UPDATE_COMPLETE', 'CREATE_COMPLETE', 'DELETE_COMPLETE', 'DELETE_SKIPPED']; diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index e905a426746..262dab0917d 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -7,6 +7,21 @@ import { const RUN_SOLO = [ 'auth_2e_pkg', 'notifications-in-app-messaging_pkg', + 'import_auth_1a_pkg', + 'import_auth_1b_pkg', + 'import_auth_2a_pkg', + 'import_auth_2b_pkg', + 'import_auth_3_pkg', + 'import_dynamodb_2a_pkg', + 'import_dynamodb_2c_pkg', + 'import_s3_2a_pkg', + 'import_s3_2c_pkg', + 'geo-add-e_pkg', + 'geo-add-f_pkg', + 'geo-remove-2_pkg', + 'geo-remove-3_pkg', + 'geo-update-1_pkg', + 'geo-update-2_pkg', ] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], From 1d110fe090d1f2c48eeedcfeb5d9b1cef8400aec Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 13:58:11 -0500 Subject: [PATCH 38/69] chore: add artifact scripts --- .gitignore | 2 + artifacts/readme.md | 3 + package.json | 1 + scripts/artifact-storage-path-allow-list.ts | 2 + scripts/cci-utils.ts | 9 ++ scripts/cci-workflow-results.ts | 95 +++++++++++++++++++++ 6 files changed, 112 insertions(+) create mode 100644 artifacts/readme.md create mode 100644 scripts/cci-workflow-results.ts diff --git a/.gitignore b/.gitignore index 40915b378d3..d79bb8e39b0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ .circleci/generated_config.yml scripts/cci-job.data.json scripts/cci-test.data.json +artifacts/cci-workflow-results.json +artifacts/cci-workflow-results.html build !packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/ !packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/ diff --git a/artifacts/readme.md b/artifacts/readme.md new file mode 100644 index 00000000000..521b9078dd7 --- /dev/null +++ b/artifacts/readme.md @@ -0,0 +1,3 @@ +CircleCI Workflow results are stored in this artifacts directory. + +After each e2e run, you can locate the artifact file here & observe the workflow results summary. \ No newline at end of file diff --git a/package.json b/package.json index 11fe0bb7063..1dc43e291e3 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "update-test-data": "source ./scripts/cci-data.sh && updateTestData", "update-job-data": "source ./scripts/cci-data.sh && updateJobData", "process-job-data": "yarn update-job-data && ts-node ./scripts/cci-process-data.ts", + "workflow-results": "yarn ts-node ./scripts/cci-workflow-results.ts", "split-e2e-tests": "yarn ts-node ./scripts/split-e2e-tests.ts && git add .circleci/config.yml", "verify-commit": "yarn ts-node ./scripts/verify-commit.ts", "pkg-clean": "rimraf build out pkg/node_modules pkg/yarn.lock", diff --git a/scripts/artifact-storage-path-allow-list.ts b/scripts/artifact-storage-path-allow-list.ts index 325b0521ccc..aa058e18bde 100644 --- a/scripts/artifact-storage-path-allow-list.ts +++ b/scripts/artifact-storage-path-allow-list.ts @@ -32,6 +32,8 @@ * will automatically normalize these paths for Windows if it detects it. */ export const ARTIFACT_STORAGE_PATH_ALLOW_LIST = [ + '~/repo/artifacts/', + '~/repo/packages/amplify-util-mock/', '~/repo/packages/amplify-util-mock/', '~/repo/packages/graphql-transformers-e2e-tests/', '~/repo/packages/amplify-e2e-tests/', diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts index 2fa4b29e992..2c15bf279ac 100644 --- a/scripts/cci-utils.ts +++ b/scripts/cci-utils.ts @@ -77,6 +77,15 @@ export function saveTestTimings(data: any): any { fs.writeFileSync(testData, JSON.stringify(data, null, 2)); } +export function saveWorkflowResults(data: any): any { + const filePath = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.json'); + fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); +} +export function saveWorkflowResultsHTML(data: any): any { + const filePath = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.html'); + fs.writeFileSync(filePath, data); +} + /** * Config file */ diff --git a/scripts/cci-workflow-results.ts b/scripts/cci-workflow-results.ts new file mode 100644 index 00000000000..74a348ada1b --- /dev/null +++ b/scripts/cci-workflow-results.ts @@ -0,0 +1,95 @@ +import { join } from "path"; +import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings, saveWorkflowResults, saveWorkflowResultsHTML } from "./cci-utils"; +import axios from 'axios'; + +const getWorkflowData = async () => { + const result = await axios.get(`https://circleci.com/api/v2/workflow/${process.env.CIRCLE_WORKFLOW_ID}/job`, { + headers: { + "Circle-Token": process.env.CIRCLECI_TOKEN + } + }); + return result.data; +} +const getJobData = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/job/${jobId}`, { + headers: { + "Circle-Token": process.env.CIRCLECI_TOKEN + } + }); + return result.data; +} +const getJobArtifacts = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/${jobId}/artifacts`, { + headers: { + "Circle-Token": process.env.CIRCLECI_TOKEN + } + }); + return result.data; +} +const getJobTests = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/${jobId}/tests`, { + headers: { + "Circle-Token": process.env.CIRCLECI_TOKEN + } + }); + return result.data; +} + + +const runit = async () => { + const data = await getWorkflowData(); + const failed = data.items.filter((i: any) => i.status === 'failed'); + const summary = []; + for(let f of failed){ + try { + const jobData = await getJobData(f.job_number); + // const artifacts = await getJobArtifacts(f.job_number); + const tests = await getJobTests(f.job_number); + summary.push({ + jobName: jobData.name, + jobUrl: jobData.web_url, + durationMins: Math.floor(jobData.duration / (60 * 1000)), + // artifacts: artifacts.items.map((i: any) => i.url), + failedTests: tests.items.filter((i: any) => i.result === 'failure') + }); + } catch(e){ + console.log('Error fetching data for job:', f.name, e); + } + } + saveWorkflowResults(summary); + saveWorkflowResultsHTML(toHTML(summary)); +} + +const toHTML = (summary: any) => { + const tableStart = ` + `; + const header = ` + + + + + + `; + let body = ''; + for(let r of summary){ + let jobLink = `${r.jobName} (${r.durationMins}mins)`; + for(let f of r.failedTests){ + let row = ` + + + + + `; + body = body + row; + } + } + return tableStart + header + body + '' + '
JobFailed Test NameFailed Test File
+

${jobLink}

+

${f.file}

+
${f.name}${f.message}
'; +} + +function main(): void { + runit(); +} +main(); \ No newline at end of file From ce925d0cea61246b8d1d24f956af69ffef86bdcd Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 14:01:49 -0500 Subject: [PATCH 39/69] chore: trigger workflow results --- .circleci/config.base.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 8af845dedc4..507ea7a8001 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -868,6 +868,10 @@ jobs: sleep 60 done no_output_timeout: 180m + - run: + name: 'Collect Results' + command: yarn workflow-results + working_directory: ~/repo workflows: From e64f8b17d8ccdd6e876f8faee4d212a120482f29 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Sat, 31 Dec 2022 14:06:22 -0500 Subject: [PATCH 40/69] ci: fix artifact path --- .circleci/config.base.yml | 5 ++++- scripts/artifact-storage-path-allow-list.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 507ea7a8001..c15f197794e 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -871,7 +871,10 @@ jobs: - run: name: 'Collect Results' command: yarn workflow-results - + - run: *scan_e2e_test_artifacts + - store_artifacts: + path: ~/repo/artifacts + working_directory: ~/repo workflows: diff --git a/scripts/artifact-storage-path-allow-list.ts b/scripts/artifact-storage-path-allow-list.ts index aa058e18bde..24817cd1fb4 100644 --- a/scripts/artifact-storage-path-allow-list.ts +++ b/scripts/artifact-storage-path-allow-list.ts @@ -32,7 +32,7 @@ * will automatically normalize these paths for Windows if it detects it. */ export const ARTIFACT_STORAGE_PATH_ALLOW_LIST = [ - '~/repo/artifacts/', + '~/repo/artifacts', '~/repo/packages/amplify-util-mock/', '~/repo/packages/amplify-util-mock/', '~/repo/packages/graphql-transformers-e2e-tests/', From bdd4eea571a3b3bcf4e255a4971f74e916ce3145 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Mon, 9 Jan 2023 19:16:54 -0500 Subject: [PATCH 41/69] chore: cleanup --- packages/amplify-opensearch-simulator/API.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/amplify-opensearch-simulator/API.md b/packages/amplify-opensearch-simulator/API.md index 089b42fa9ef..f5f3bbe729b 100644 --- a/packages/amplify-opensearch-simulator/API.md +++ b/packages/amplify-opensearch-simulator/API.md @@ -4,6 +4,8 @@ ```ts +/// + import { $TSAny } from 'amplify-cli-core'; import execa from 'execa'; import { GetPackageAssetPaths } from 'amplify-cli-core'; From 817c60e93f09e5ce2d9d39eecb3cbd6135f5d494 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Mon, 9 Jan 2023 20:00:09 -0500 Subject: [PATCH 42/69] chore: add timer spy --- .../iterative-deployment/stack-event-monitor.test.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/iterative-deployment/stack-event-monitor.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/iterative-deployment/stack-event-monitor.test.ts index 37163501eb5..15e3dbb032c 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/iterative-deployment/stack-event-monitor.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/iterative-deployment/stack-event-monitor.test.ts @@ -15,6 +15,8 @@ const cfn = ({ } as unknown) as CloudFormation; jest.useFakeTimers(); +jest.spyOn(global, 'setTimeout'); +jest.spyOn(global, 'clearTimeout'); describe('StackEventMonitor', () => { const monitor = new StackEventMonitor(cfn, 'testStackName', @@ -22,7 +24,7 @@ describe('StackEventMonitor', () => { test('start StackEventMonitor', () => { monitor.start(); - + jest.runAllTimers(); expect(setTimeout).toHaveBeenCalledTimes(1); expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function), 5000); From 1c3ad43c0c4d34b93eecb019d0e2662b1073b879 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Mon, 9 Jan 2023 20:55:01 -0500 Subject: [PATCH 43/69] ci: update test lists --- .../amplify-e2e-tests/src/__tests__/schema-auth-11-a.test.ts | 2 +- .../amplify-e2e-tests/src/__tests__/schema-auth-11-b.test.ts | 2 +- .../amplify-e2e-tests/src/__tests__/schema-auth-11-c.test.ts | 2 +- scripts/split-e2e-tests-v2.ts | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-a.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-a.test.ts index f145bab39d7..fa659ec6d71 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-a.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-a.test.ts @@ -10,7 +10,7 @@ describe('api directives @auth batch 3a', () => { let projectDir: string; beforeEach(async () => { - projectDir = await createNewProjectDir('auth3'); + projectDir = await createNewProjectDir('auth11a'); await initJSProjectWithProfile(projectDir, {}); }); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-b.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-b.test.ts index 13f11c5e526..a83cd952670 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-b.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-b.test.ts @@ -10,7 +10,7 @@ describe('api directives @auth batch 3b', () => { let projectDir: string; beforeEach(async () => { - projectDir = await createNewProjectDir('auth3'); + projectDir = await createNewProjectDir('auth11b'); await initJSProjectWithProfile(projectDir, {}); }); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-c.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-c.test.ts index e1dd8ade74f..15c614a29f0 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-c.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-auth-11-c.test.ts @@ -10,7 +10,7 @@ describe('api directives @auth batch 3c', () => { let projectDir: string; beforeEach(async () => { - projectDir = await createNewProjectDir('auth3'); + projectDir = await createNewProjectDir('auth11c'); await initJSProjectWithProfile(projectDir, {}); }); diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 262dab0917d..48ea52c3206 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -22,6 +22,10 @@ const RUN_SOLO = [ 'geo-remove-3_pkg', 'geo-update-1_pkg', 'geo-update-2_pkg', + 'containers-api-2_pkg', + 'containers-api-1_pkg', + 'schema-auth-11-a_pkg', + 'http-migration_pkg', ] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], @@ -44,6 +48,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'function_7_pkg', 'function_8_pkg', 'geo-add-e_pkg', + 'geo-add-c_pkg', 'geo-add-f_pkg', 'geo-remove-2_pkg', 'geo-remove-3_pkg', From 565fe8f7adc1297f7e51f8b015a73a05a79cadd1 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Mon, 9 Jan 2023 20:58:27 -0500 Subject: [PATCH 44/69] chore: cleanup --- .../amplify-e2e-core/src/utils/add-circleci-tags.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index ba4a1f7d8c1..c31a8ee0200 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -1,6 +1,7 @@ import { stateManager } from 'amplify-cli-core'; import * as fs from 'fs-extra'; import * as path from 'path'; +import { sleep } from './sleep'; declare global { /* eslint-disable @typescript-eslint/no-namespace */ @@ -14,9 +15,6 @@ declare global { /* eslint-enable */ } -function delay(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); -} export const addCircleCITags = async (projectPath: string): Promise => { if (process.env && process.env['CIRCLECI']) { await staggerInitCalls(projectPath); @@ -81,10 +79,10 @@ const staggerInitCalls = async (projectPath: string) => { const lock = path.join(projectPath, '..', 'init-lock.txt'); // one test will create the lock first, 15 seconds should be enough to allow 1 test to do this first without collision risk const initialDelay = Math.floor(Math.random() * 15 * 1000); - await delay(initialDelay); + await sleep(initialDelay); while(true){ if(fs.existsSync(lock)) { - await delay(1 * 1000);// wait + await sleep(1 * 1000);// wait // console.log("waiting to start"); continue; } else { @@ -92,7 +90,7 @@ const staggerInitCalls = async (projectPath: string) => { try { fs.writeFileSync(lock, ''); console.log("holding lock file", lock); - await delay(15 * 1000); // hold the lock for 15 seconds + await sleep(15 * 1000); // hold the lock for 15 seconds fs.unlinkSync(lock); break; } catch (e){ From fe810ab225c659a611ae01668eb6728972be468f Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 01:17:50 -0500 Subject: [PATCH 45/69] ci: fix retries --- packages/amplify-e2e-tests/src/setup-tests.ts | 1 + scripts/split-e2e-tests-v2.ts | 2 ++ setup-jest.js | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/amplify-e2e-tests/src/setup-tests.ts b/packages/amplify-e2e-tests/src/setup-tests.ts index 5a8ca6d038b..f0a0c15b652 100644 --- a/packages/amplify-e2e-tests/src/setup-tests.ts +++ b/packages/amplify-e2e-tests/src/setup-tests.ts @@ -7,3 +7,4 @@ expect.extend({ toBeAS3Bucket }); const JEST_TIMEOUT = 1000 * 60 * 60; // 1 hour jest.setTimeout(JEST_TIMEOUT); +jest.retryTimes(2); diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 48ea52c3206..55040979251 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -12,12 +12,14 @@ const RUN_SOLO = [ 'import_auth_2a_pkg', 'import_auth_2b_pkg', 'import_auth_3_pkg', + 'import_dynamodb_1_pkg', 'import_dynamodb_2a_pkg', 'import_dynamodb_2c_pkg', 'import_s3_2a_pkg', 'import_s3_2c_pkg', 'geo-add-e_pkg', 'geo-add-f_pkg', + 'geo-remove-1_pkg', 'geo-remove-2_pkg', 'geo-remove-3_pkg', 'geo-update-1_pkg', diff --git a/setup-jest.js b/setup-jest.js index c7bc7106dea..e69de29bb2d 100644 --- a/setup-jest.js +++ b/setup-jest.js @@ -1 +0,0 @@ -jest.retryTimes(2); \ No newline at end of file From a6645fe16aa2427d3b86ff28925569255262618c Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 13:49:29 -0500 Subject: [PATCH 46/69] ci: move delays to createProjectDir --- packages/amplify-e2e-core/src/index.ts | 5 +++++ packages/amplify-e2e-core/src/utils/add-circleci-tags.ts | 2 +- packages/amplify-e2e-tests/src/setup-tests.ts | 2 +- scripts/split-e2e-tests-v2.ts | 6 ++++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/amplify-e2e-core/src/index.ts b/packages/amplify-e2e-core/src/index.ts index b59ef692ead..91520ca7a9c 100644 --- a/packages/amplify-e2e-core/src/index.ts +++ b/packages/amplify-e2e-core/src/index.ts @@ -12,6 +12,7 @@ import { spawnSync, execSync } from 'child_process'; import { v4 as uuid } from 'uuid'; import { pathManager } from 'amplify-cli-core'; import { gt } from 'semver'; +import { sleep } from '.'; export * from './diagnose'; export * from './configure'; @@ -117,6 +118,10 @@ export async function createNewProjectDir( } while (fs.existsSync(projectDir)); fs.ensureDirSync(projectDir); + + const initialDelay = Math.floor(Math.random() * 180 * 1000); + await sleep(initialDelay); + console.log(projectDir); return projectDir; } diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index c31a8ee0200..a354040a47d 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -17,7 +17,7 @@ declare global { export const addCircleCITags = async (projectPath: string): Promise => { if (process.env && process.env['CIRCLECI']) { - await staggerInitCalls(projectPath); + // await staggerInitCalls(projectPath); const tags = stateManager.getProjectTags(projectPath); diff --git a/packages/amplify-e2e-tests/src/setup-tests.ts b/packages/amplify-e2e-tests/src/setup-tests.ts index f0a0c15b652..a8612ad6782 100644 --- a/packages/amplify-e2e-tests/src/setup-tests.ts +++ b/packages/amplify-e2e-tests/src/setup-tests.ts @@ -7,4 +7,4 @@ expect.extend({ toBeAS3Bucket }); const JEST_TIMEOUT = 1000 * 60 * 60; // 1 hour jest.setTimeout(JEST_TIMEOUT); -jest.retryTimes(2); +jest.retryTimes(1); diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 55040979251..8c363762a64 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -6,6 +6,7 @@ import { } from "./cci-utils"; const RUN_SOLO = [ 'auth_2e_pkg', + 'env-3_pkg', 'notifications-in-app-messaging_pkg', 'import_auth_1a_pkg', 'import_auth_1b_pkg', @@ -14,9 +15,11 @@ const RUN_SOLO = [ 'import_auth_3_pkg', 'import_dynamodb_1_pkg', 'import_dynamodb_2a_pkg', + 'import_dynamodb_2b_pkg', 'import_dynamodb_2c_pkg', 'import_s3_2a_pkg', 'import_s3_2c_pkg', + 'import_s3_3_pkg', 'geo-add-e_pkg', 'geo-add-f_pkg', 'geo-remove-1_pkg', @@ -28,6 +31,7 @@ const RUN_SOLO = [ 'containers-api-1_pkg', 'schema-auth-11-a_pkg', 'http-migration_pkg', + 'schema-connection-1_pkg' ] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], @@ -37,10 +41,12 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'api_2a_pkg', 'api_2b_pkg', 'api_5_pkg', + 'custom_policies_container_pkg', 'datastore-modelgen_pkg', 'delete_pkg', 'diagnose_pkg', 'env-2_pkg', + 'env-3_pkg', 'export_pkg', 'function_1_pkg', 'function_3a_pkg', From 6f93e9a89a8f9bc020bcee665e71625b13fc2bc4 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 15:25:45 -0500 Subject: [PATCH 47/69] ci: use same script for e2e as linux on windows --- .circleci/config.base.yml | 7 ++++--- scripts/split-e2e-tests-v2.ts | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index c15f197794e..5a4800f39a8 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1266,9 +1266,10 @@ commands: shell: bash.exe command: | source .circleci/local_publish_helpers.sh - cd packages/amplify-e2e-tests - retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE - no_output_timeout: 60m + source $BASH_ENV + amplify version + retry runE2eTest + no_output_timeout: 90m - when: condition: or: diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 8c363762a64..3d3ace71bd6 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -17,7 +17,9 @@ const RUN_SOLO = [ 'import_dynamodb_2a_pkg', 'import_dynamodb_2b_pkg', 'import_dynamodb_2c_pkg', + 'import_s3_1_pkg', 'import_s3_2a_pkg', + 'import_s3_2b_pkg', 'import_s3_2c_pkg', 'import_s3_3_pkg', 'geo-add-e_pkg', From d6fafa1d145293483c1f6b321e8626c25d8f8fe1 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 15:33:05 -0500 Subject: [PATCH 48/69] chore: split storage-1 test --- .../src/__tests__/storage-1a.test.ts | 72 +++++++++++++++++++ .../{storage-1.test.ts => storage-1b.test.ts} | 29 -------- scripts/cci-test-timings.data.json | 12 ++-- 3 files changed, 80 insertions(+), 33 deletions(-) create mode 100644 packages/amplify-e2e-tests/src/__tests__/storage-1a.test.ts rename packages/amplify-e2e-tests/src/__tests__/{storage-1.test.ts => storage-1b.test.ts} (68%) diff --git a/packages/amplify-e2e-tests/src/__tests__/storage-1a.test.ts b/packages/amplify-e2e-tests/src/__tests__/storage-1a.test.ts new file mode 100644 index 00000000000..ebc2afae0dd --- /dev/null +++ b/packages/amplify-e2e-tests/src/__tests__/storage-1a.test.ts @@ -0,0 +1,72 @@ +import { $TSAny } from 'amplify-cli-core'; +import { + addAuthWithDefault, + addS3AndAuthWithAuthOnlyAccess, + addS3WithGuestAccess, + amplifyPushAuth, + checkIfBucketExists, + createNewProjectDir, + deleteProject, + deleteProjectDir, + getProjectMeta, + initFlutterProjectWithProfile, + initJSProjectWithProfile, +} from '@aws-amplify/amplify-e2e-core'; +import * as fs from 'fs-extra'; +import * as path from 'path'; + +function getServiceMeta(projectRoot: string, category: string, service: string): $TSAny { + const meta = getProjectMeta(projectRoot); + for (const storageResourceName of Object.keys(meta[category])) { + if (meta.storage[storageResourceName].service.toUpperCase() === service.toUpperCase()) { + return meta.storage[storageResourceName]; + } + } +} + +describe('amplify add/update storage(S3)', () => { + let projRoot: string; + beforeEach(async () => { + projRoot = await createNewProjectDir('s3-test'); + }); + + afterEach(async () => { + await deleteProject(projRoot); + deleteProjectDir(projRoot); + }); + + async function validate(projRoot) { + const serviceMeta = getServiceMeta(projRoot, 'storage', 'S3'); + const { BucketName: bucketName, Region: region } = serviceMeta.output; + + expect(bucketName).toBeDefined(); + expect(region).toBeDefined(); + + const bucketExists = await checkIfBucketExists(bucketName, region); + expect(bucketExists).toMatchObject({}); + } + + it('init a project and add S3 bucket with Auth user access only', async () => { + await initJSProjectWithProfile(projRoot, {}); + await addS3AndAuthWithAuthOnlyAccess(projRoot, {}); + await amplifyPushAuth(projRoot); + await validate(projRoot); + }); + + it('init a javascript project and add S3 bucket with guest access', async () => { + await initJSProjectWithProfile(projRoot, {}); + await addAuthWithDefault(projRoot, {}); + await addS3WithGuestAccess(projRoot, {}); + await amplifyPushAuth(projRoot); + await validate(projRoot); + }); + + it('init a flutter project and add S3 bucket with guest access', async () => { + await initFlutterProjectWithProfile(projRoot, { name: 'storageTest' }); + await addAuthWithDefault(projRoot, {}); + await addS3WithGuestAccess(projRoot, {}); + await amplifyPushAuth(projRoot); + expect(fs.existsSync(path.join(projRoot, 'lib', 'amplifyconfiguration.dart'))).toBe(true); + await validate(projRoot); + }); +}); diff --git a/packages/amplify-e2e-tests/src/__tests__/storage-1.test.ts b/packages/amplify-e2e-tests/src/__tests__/storage-1b.test.ts similarity index 68% rename from packages/amplify-e2e-tests/src/__tests__/storage-1.test.ts rename to packages/amplify-e2e-tests/src/__tests__/storage-1b.test.ts index ae32e685f63..f0781092174 100644 --- a/packages/amplify-e2e-tests/src/__tests__/storage-1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/storage-1b.test.ts @@ -2,9 +2,7 @@ import { $TSAny } from 'amplify-cli-core'; import { addAuthWithDefault, addAuthWithGroupsAndAdminAPI, - addS3AndAuthWithAuthOnlyAccess, addS3WithGroupAccess, - addS3WithGuestAccess, addS3WithTrigger, amplifyPushAuth, checkIfBucketExists, @@ -12,12 +10,9 @@ import { deleteProject, deleteProjectDir, getProjectMeta, - initFlutterProjectWithProfile, initJSProjectWithProfile, updateS3AddTriggerNewFunctionWithFunctionExisting, } from '@aws-amplify/amplify-e2e-core'; -import * as fs from 'fs-extra'; -import * as path from 'path'; function getServiceMeta(projectRoot: string, category: string, service: string): $TSAny { const meta = getProjectMeta(projectRoot); @@ -50,30 +45,6 @@ describe('amplify add/update storage(S3)', () => { expect(bucketExists).toMatchObject({}); } - it('init a project and add S3 bucket with Auth user access only', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addS3AndAuthWithAuthOnlyAccess(projRoot, {}); - await amplifyPushAuth(projRoot); - await validate(projRoot); - }); - - it('init a javascript project and add S3 bucket with guest access', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addAuthWithDefault(projRoot, {}); - await addS3WithGuestAccess(projRoot, {}); - await amplifyPushAuth(projRoot); - await validate(projRoot); - }); - - it('init a flutter project and add S3 bucket with guest access', async () => { - await initFlutterProjectWithProfile(projRoot, { name: 'storageTest' }); - await addAuthWithDefault(projRoot, {}); - await addS3WithGuestAccess(projRoot, {}); - await amplifyPushAuth(projRoot); - expect(fs.existsSync(path.join(projRoot, 'lib', 'amplifyconfiguration.dart'))).toBe(true); - await validate(projRoot); - }); - it('init a project and add S3 bucket with user pool groups and Admin API', async () => { await initJSProjectWithProfile(projRoot, {}); await addAuthWithGroupsAndAdminAPI(projRoot, {}); diff --git a/scripts/cci-test-timings.data.json b/scripts/cci-test-timings.data.json index c92f53b6466..b0af95e5285 100644 --- a/scripts/cci-test-timings.data.json +++ b/scripts/cci-test-timings.data.json @@ -922,6 +922,14 @@ "test": "src/__tests__/schema-iterative-update-2.test.ts", "medianRuntime": 35 }, + { + "test": "src/__tests__/storage-1a.test.ts", + "medianRuntime": 35 + }, + { + "test": "src/__tests__/storage-1b.test.ts", + "medianRuntime": 35 + }, { "test": "src/__tests__/function_11.test.ts", "medianRuntime": 36 @@ -1050,10 +1058,6 @@ "test": "src/__tests__/schema-iterative-update-4.test.ts", "medianRuntime": 52 }, - { - "test": "src/__tests__/storage-1.test.ts", - "medianRuntime": 56 - }, { "test": "src/__tests__/function_1.test.ts", "medianRuntime": 68 From 6e1df499e44dcdd1db8f838b2ea94582478eedcf Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 16:55:55 -0500 Subject: [PATCH 49/69] ci: fix config --- .circleci/config.base.yml | 4 ++-- packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 5a4800f39a8..d9e161416a5 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1266,9 +1266,9 @@ commands: shell: bash.exe command: | source .circleci/local_publish_helpers.sh - source $BASH_ENV amplify version - retry runE2eTest + cd packages/amplify-e2e-tests + retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 90m - when: condition: diff --git a/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts b/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts index ef5d1a7b7d2..b561bff7bd2 100644 --- a/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts +++ b/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts @@ -922,7 +922,7 @@ const cleanup = async (): Promise => { const filterPredicate = getFilterPredicate(args); const accounts = await getAccountsToCleanup(); - for(let i = 0 ;i < 5; i ++){ + for(let i = 0 ;i < 3; i ++){ console.log("CLEANUP ROUND: ", i + 1); await Promise.all(accounts.map((account, i) => { return cleanupAccount(account, i, filterPredicate); From 5f0919b487db8bf154d418fa31f80683690b8d30 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 16:58:29 -0500 Subject: [PATCH 50/69] ci: add bash env --- .circleci/config.base.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index d9e161416a5..8f688a83e06 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1266,6 +1266,7 @@ commands: shell: bash.exe command: | source .circleci/local_publish_helpers.sh + source $BASH_ENV amplify version cd packages/amplify-e2e-tests retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE From b02b80e78aadbea32bd5b66febb4accee67b15c7 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 20:02:05 -0500 Subject: [PATCH 51/69] ci: reduce timeout on push --- packages/amplify-e2e-core/src/init/amplifyPush.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-e2e-core/src/init/amplifyPush.ts b/packages/amplify-e2e-core/src/init/amplifyPush.ts index 3b60e5c3c4d..878355d071a 100644 --- a/packages/amplify-e2e-core/src/init/amplifyPush.ts +++ b/packages/amplify-e2e-core/src/init/amplifyPush.ts @@ -17,7 +17,7 @@ import { getCLIPath, nspawn as spawn } from '..'; -const pushTimeoutMS = 1000 * 60 * 45; // 45 minutes; +const pushTimeoutMS = 1000 * 60 * 20; // 20 minutes; /** * Data structure defined for Layer Push From 0a136cafb1704de49e0e8e9cf92ab0158a220d51 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 20:13:29 -0500 Subject: [PATCH 52/69] ci: update test lists --- scripts/split-e2e-tests-v2.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 3d3ace71bd6..c51b0de6b29 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -6,6 +6,7 @@ import { } from "./cci-utils"; const RUN_SOLO = [ 'auth_2e_pkg', + 'auth_2c_pkg', 'env-3_pkg', 'notifications-in-app-messaging_pkg', 'import_auth_1a_pkg', @@ -32,7 +33,7 @@ const RUN_SOLO = [ 'containers-api-2_pkg', 'containers-api-1_pkg', 'schema-auth-11-a_pkg', - 'http-migration_pkg', + 'schema-auth-15_pkg', 'schema-connection-1_pkg' ] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { @@ -42,6 +43,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'analytics-2_pkg', 'api_2a_pkg', 'api_2b_pkg', + 'api_3_pkg', 'api_5_pkg', 'custom_policies_container_pkg', 'datastore-modelgen_pkg', @@ -50,7 +52,10 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'env-2_pkg', 'env-3_pkg', 'export_pkg', + 'export-pull-d', 'function_1_pkg', + 'function_2a_pkg', + 'function_2b_pkg', 'function_3a_pkg', 'function_3b_pkg', 'function_4_pkg', @@ -60,12 +65,14 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'geo-add-e_pkg', 'geo-add-c_pkg', 'geo-add-f_pkg', + 'geo-remove-1_pkg', 'geo-remove-2_pkg', 'geo-remove-3_pkg', 'geo-update-1_pkg', 'geo-update-2_pkg', 'git-clone-attach_pkg', 'hooks-a_pkg', + 'http-migration_pkg', 'import_auth_1a_pkg', 'import_auth_1b_pkg', 'import_auth_2a_pkg', @@ -73,6 +80,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'import_auth_3_pkg', 'import_dynamodb_2a_pkg', 'import_dynamodb_2c_pkg', + 'import_s3_1_pkg', 'import_s3_2a_pkg', 'import_s3_2c_pkg', 'layer-2_pkg', @@ -87,9 +95,13 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'notifications-sms_pkg', 'notifications-sms-pull_pkg', 'pull_pkg', + 'schema-auth-9-a_pkg', + 'schema-auth-9-b_pkg', + 'schema-auth-9-c_pkg', 'schema-iterative-rollback-1_pkg', 'schema-iterative-rollback-2_pkg', 'searchable-migration_pkg', + 'storage-2_pkg', 'storage-5_pkg', 'studio-modelgen_pkg', 'uibuilder_pkg', From 3ec4e50d5a3b452328ecb03c19acacd4ba295f5e Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 20:21:00 -0500 Subject: [PATCH 53/69] ci: update test lists --- scripts/split-e2e-tests-v2.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index c51b0de6b29..96513bcc98e 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -40,6 +40,7 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], w: [ 'amplify-app_pkg', + 'analytics_pkg', 'analytics-2_pkg', 'api_2a_pkg', 'api_2b_pkg', @@ -98,6 +99,8 @@ const TEST_EXCLUSIONS: { l: string[], w: string[] } = { 'schema-auth-9-a_pkg', 'schema-auth-9-b_pkg', 'schema-auth-9-c_pkg', + 'schema-auth-11-a_pkg', + 'schema-auth-15_pkg', 'schema-iterative-rollback-1_pkg', 'schema-iterative-rollback-2_pkg', 'searchable-migration_pkg', From 70ff919a2793b4ffd3f6c14a776e6c8826471ea6 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 23:00:10 -0500 Subject: [PATCH 54/69] ci: lower timeout and enable concurrent migration testing --- .circleci/config.base.yml | 10 +++++----- .circleci/local_publish_helpers.sh | 2 +- scripts/split-e2e-tests-v2.ts | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 8f688a83e06..f4af19b6c14 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -473,7 +473,7 @@ jobs: changeNpmGlobalPath cd packages/amplify-migration-tests retry yarn run migration_v5.2.0 --no-cache --maxWorkers= $TEST_SUITE - no_output_timeout: 90m + no_output_timeout: 65m - run: *scan_e2e_test_artifacts - store_test_results: path: ~/repo/packages/amplify-migration-tests/ @@ -503,7 +503,7 @@ jobs: changeNpmGlobalPath cd packages/amplify-migration-tests retry yarn run migration_v6.1.0 --no-cache --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m + no_output_timeout: 65m - run: *scan_e2e_test_artifacts - store_test_results: path: ~/repo/packages/amplify-migration-tests/ @@ -535,7 +535,7 @@ jobs: unset IS_AMPLIFY_CI echo $IS_AMPLIFY_CI retry yarn run migration_v10.5.1 --no-cache --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m + no_output_timeout: 65m - run: *scan_e2e_test_artifacts - store_test_results: path: ~/repo/packages/amplify-migration-tests/ @@ -1270,7 +1270,7 @@ commands: amplify version cd packages/amplify-e2e-tests retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE - no_output_timeout: 90m + no_output_timeout: 65m - when: condition: or: @@ -1284,7 +1284,7 @@ commands: source $BASH_ENV amplify version retry runE2eTest - no_output_timeout: 90m + no_output_timeout: 65m scan_e2e_test_artifacts: description: 'Scan And Cleanup E2E Test Artifacts' parameters: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index f80d5617584..796b1c429e0 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -199,7 +199,7 @@ function useChildAccountCredentials { } function retry { - MAX_ATTEMPTS=1 + MAX_ATTEMPTS=2 SLEEP_DURATION=5 FIRST_RUN=true n=0 diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 96513bcc98e..87702e77f6d 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -212,7 +212,10 @@ export const splitTestsV2 = function splitTests( // create a new job once the current job is full; // migration tests are 1-1 due to limitations with older cli versions - if(isMigration || currentJob.tests.length >= MAX_WORKERS){ + // if(isMigration || currentJob.tests.length >= MAX_WORKERS){ + // osJobs.push(createRandomJob(os)); + // } + if(currentJob.tests.length >= MAX_WORKERS){ osJobs.push(createRandomJob(os)); } } From be2e50fae1119b55c627c415bf88c5286eb75c35 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 10 Jan 2023 23:09:06 -0500 Subject: [PATCH 55/69] ci: update test list --- scripts/split-e2e-tests-v2.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 87702e77f6d..1f1bc11c3fc 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -8,6 +8,7 @@ const RUN_SOLO = [ 'auth_2e_pkg', 'auth_2c_pkg', 'env-3_pkg', + 'dotnet_runtime_update_migration_pkg', 'notifications-in-app-messaging_pkg', 'import_auth_1a_pkg', 'import_auth_1b_pkg', From 214fd0ffc7d56829513cb92cdc93a4322b9eba36 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 00:30:20 -0500 Subject: [PATCH 56/69] ci: restructure migration test setups --- .../lambda-layer-migration/layer-migration.test.ts | 8 ++++---- .../notifications-migration-2.test.ts | 7 ++----- .../notifications-migration-3.test.ts | 7 ++----- .../notifications-migration-4.test.ts | 7 ++----- .../notifications-migration.test.ts | 7 ++----- .../migration_tests/overrides/auth-migration-a.test.ts | 7 ++----- .../migration_tests/overrides/auth-migration-b.test.ts | 7 ++----- .../migration_tests/overrides/auth-migration-c.test.ts | 7 ++----- .../migration_tests/overrides/auth-migration-d.test.ts | 7 ++----- .../migration_tests/overrides/auth-migration-e.test.ts | 9 +++------ .../migration_tests/overrides/init-migration.test.ts | 7 ++----- .../transformer_migration/api.key.migration-2.test.ts | 8 +++----- .../transformer_migration/api.key.migration.test.ts | 6 ++---- .../src/__tests__/migration_tests_v10/scaffold.test.ts | 7 ++----- .../__tests__/update_tests/api_migration_update.test.ts | 6 ++---- .../__tests__/update_tests/auth_migration_update.test.ts | 6 ++---- .../update_tests/function_migration_update.test.ts | 8 +++----- .../update_tests/storage_migration_update.test.ts | 6 ++---- packages/amplify-migration-tests/src/setup-tests.ts | 1 + scripts/split-e2e-tests-v2.ts | 1 + 20 files changed, 43 insertions(+), 86 deletions(-) diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts index e09b6d0a8aa..fc4ad187e16 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts @@ -28,14 +28,14 @@ describe('test lambda layer migration flow introduced in v5.0.0', () => { let projRoot: string; let versionToMigrateFrom: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('functions'); + const version = { v: 'unintialized' }; await versionCheck(process.cwd(), false, version); versionToMigrateFrom = version.v; - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('functions'); + if (versionToMigrateFrom === '4.28.2') { await initJSProjectWithProfileV4_28_2(projRoot, {}, false); } else if (versionToMigrateFrom === '4.52.0') { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts index 2fe9cf9eff7..ebab7f4e4a6 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts @@ -16,6 +16,8 @@ describe('amplify add notifications', () => { beforeEach(async () => { projectRoot = await createNewProjectDir('notification-migration-2'); + await versionCheck(process.cwd(), false, migrateFromVersion); + await versionCheck(process.cwd(), true, migrateToVersion); }); afterEach(async () => { @@ -23,11 +25,6 @@ describe('amplify add notifications', () => { deleteProjectDir(projectRoot); }); - beforeAll(async () => { - await versionCheck(process.cwd(), false, migrateFromVersion); - await versionCheck(process.cwd(), true, migrateToVersion); - }); - it('should add in app notifications if another notification channel added with an older version', async () => { expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); const settings = { resourceName: `notification${getShortId()}` }; diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts index 85d830e138e..02be5ebd038 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts @@ -18,6 +18,8 @@ describe('amplify add notifications', () => { beforeEach(async () => { projectRoot = await createNewProjectDir('notification-migration-3'); + await versionCheck(process.cwd(), false, migrateFromVersion); + await versionCheck(process.cwd(), true, migrateToVersion); }); afterEach(async () => { @@ -25,11 +27,6 @@ describe('amplify add notifications', () => { deleteProjectDir(projectRoot); }); - beforeAll(async () => { - await versionCheck(process.cwd(), false, migrateFromVersion); - await versionCheck(process.cwd(), true, migrateToVersion); - }); - it('should add in app notifications if analytics then another notification channel added and pushed with an older version', async () => { expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); const settings = { resourceName: `notification${getShortId()}` }; diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts index 2bf9eadebd1..2c766bd10a3 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts @@ -17,6 +17,8 @@ describe('amplify add notifications', () => { beforeEach(async () => { projectRoot = await createNewProjectDir('notification-migration-4'); + await versionCheck(process.cwd(), false, migrateFromVersion); + await versionCheck(process.cwd(), true, migrateToVersion); }); afterEach(async () => { @@ -24,11 +26,6 @@ describe('amplify add notifications', () => { deleteProjectDir(projectRoot); }); - beforeAll(async () => { - await versionCheck(process.cwd(), false, migrateFromVersion); - await versionCheck(process.cwd(), true, migrateToVersion); - }); - it('should pull app if notifications added and removed with an older version', async () => { expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); const settings = { resourceName: `notification${getShortId()}` }; diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts index 5dc49945e4c..1325d8e3582 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts @@ -16,6 +16,8 @@ describe('amplify add notifications', () => { beforeEach(async () => { projectRoot = await createNewProjectDir('init'); + await versionCheck(process.cwd(), false, migrateFromVersion); + await versionCheck(process.cwd(), true, migrateToVersion); }); afterEach(async () => { @@ -23,11 +25,6 @@ describe('amplify add notifications', () => { deleteProjectDir(projectRoot); }); - beforeAll(async () => { - await versionCheck(process.cwd(), false, migrateFromVersion); - await versionCheck(process.cwd(), true, migrateToVersion); - }); - it('should add in app notifications if analytics added with an older version', async () => { expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-a.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-a.test.ts index ab29ba1277a..065b2b11a4a 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-a.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-a.test.ts @@ -27,7 +27,8 @@ const defaultSettings = { describe('amplify auth migration a', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('auth_migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -36,10 +37,6 @@ describe('amplify auth migration a', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth_migration'); - }); - afterEach(async () => { const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); if (fs.existsSync(metaFilePath)) { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-b.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-b.test.ts index 08c7f6a8e44..90118740dd8 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-b.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-b.test.ts @@ -24,7 +24,8 @@ const defaultSettings = { describe('amplify auth migration b', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('auth_migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -33,10 +34,6 @@ describe('amplify auth migration b', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth_migration'); - }); - afterEach(async () => { const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); if (fs.existsSync(metaFilePath)) { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-c.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-c.test.ts index 8db97fefad0..65a97ee0485 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-c.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-c.test.ts @@ -23,7 +23,8 @@ const defaultSettings = { describe('amplify auth migration c', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('auth_migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -32,10 +33,6 @@ describe('amplify auth migration c', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth_migration'); - }); - afterEach(async () => { const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); if (fs.existsSync(metaFilePath)) { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-d.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-d.test.ts index b84aeb6063d..59ea74183ff 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-d.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-d.test.ts @@ -21,7 +21,8 @@ const defaultSettings = { describe('amplify auth migration d', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('auth_migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -30,10 +31,6 @@ describe('amplify auth migration d', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth_migration'); - }); - afterEach(async () => { const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); if (fs.existsSync(metaFilePath)) { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-e.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-e.test.ts index 7efcf44b25e..b1dad7223fb 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-e.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/auth-migration-e.test.ts @@ -25,8 +25,9 @@ const defaultSettings = { }; describe('amplify auth migration e', () => { let projRoot: string; - - beforeAll(async () => { + + beforeEach(async () => { + projRoot = await createNewProjectDir('auth_migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -35,10 +36,6 @@ describe('amplify auth migration e', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth_migration'); - }); - afterEach(async () => { const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); if (fs.existsSync(metaFilePath)) { diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/init-migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/init-migration.test.ts index 398f39da375..2f41c43afa6 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/init-migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/overrides/init-migration.test.ts @@ -14,7 +14,8 @@ import { versionCheck, allowedVersionsToMigrateFrom, initJSProjectWithProfileV4_ describe('amplify init', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('init'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -23,10 +24,6 @@ describe('amplify init', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('init'); - }); - afterEach(async () => { await deleteProject(projRoot, undefined, true); deleteProjectDir(projRoot); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts index 7c07b5aba4d..0916e3a75be 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts @@ -12,18 +12,16 @@ import { initJSProjectWithProfileV4_52_0, versionCheck, addApiWithoutSchemaOldDx describe('amplify key force push', () => { let projRoot: string; - - beforeAll(async () => { + + beforeEach(async () => { + projRoot = await createNewProjectDir('api-key-cli-migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); await versionCheck(process.cwd(), true, migrateToVersion); expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('api-key-cli-migration'); await initJSProjectWithProfileV4_52_0(projRoot, { name: 'gqlkeytwomigration' }); }); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts index 7227a010bd5..c5aaff930c5 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts @@ -13,17 +13,15 @@ import { initJSProjectWithProfileV4_52_0, versionCheck, addApiWithoutSchemaOldDx describe('amplify key force push', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('api-key-cli-migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); await versionCheck(process.cwd(), true, migrateToVersion); expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('api-key-cli-migration'); await initJSProjectWithProfileV4_52_0(projRoot, { name: 'gqlkeymigration' }); }); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests_v10/scaffold.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests_v10/scaffold.test.ts index 49b01d5d14b..16268d01da8 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests_v10/scaffold.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests_v10/scaffold.test.ts @@ -9,7 +9,8 @@ import { initJSProjectWithProfileV10 } from '../../migration-helpers-v10/init'; describe('amplify migration test scaffold v10', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('scaffoldTest'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -19,10 +20,6 @@ describe('amplify migration test scaffold v10', () => { expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('scaffoldTest'); - }); - afterEach(async () => { await deleteProject(projRoot, null, true); deleteProjectDir(projRoot); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts index 531fd9e20a7..efc69d3c97e 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts @@ -26,17 +26,15 @@ import { describe('api migration update test', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('graphql-api'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); await versionCheck(process.cwd(), true, migrateToVersion); expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('graphql-api'); await initJSProjectWithProfileV4_52_0(projRoot, { name: 'apimigration' }); }); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/auth_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/auth_migration_update.test.ts index aaf1cc679c6..46cdb0b1796 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/auth_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/auth_migration_update.test.ts @@ -20,17 +20,15 @@ import { initJSProjectWithProfileV4_52_0, versionCheck, allowedVersionsToMigrate describe('amplify auth migration', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('auth migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); await versionCheck(process.cwd(), true, migrateToVersion); expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('auth migration'); await initJSProjectWithProfileV4_52_0(projRoot, { name: 'authMigration' }); }); afterEach(async () => { diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts index d5fa6db479f..edd9a30eb10 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts @@ -25,18 +25,16 @@ import { initJSProjectWithProfileV4_52_0, versionCheck, allowedVersionsToMigrate describe('amplify function migration', () => { let projRoot: string; - - beforeAll(async () => { + + beforeEach(async () => { + projRoot = await createNewProjectDir('functions'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); await versionCheck(process.cwd(), true, migrateToVersion); expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); - }); - beforeEach(async () => { - projRoot = await createNewProjectDir('functions'); await initJSProjectWithProfileV4_52_0(projRoot, { name: 'functionmigration' }); }); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/storage_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/storage_migration_update.test.ts index 1cb55c170da..3c3072e7041 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/storage_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/storage_migration_update.test.ts @@ -19,7 +19,8 @@ import { initJSProjectWithProfileV4_52_0, versionCheck, allowedVersionsToMigrate describe('amplify add/update storage(DDB)', () => { let projRoot: string; - beforeAll(async () => { + beforeEach(async () => { + projRoot = await createNewProjectDir('ddb-add-update migration'); const migrateFromVersion = { v: 'unintialized' }; const migrateToVersion = { v: 'unintialized' }; await versionCheck(process.cwd(), false, migrateFromVersion); @@ -27,9 +28,6 @@ describe('amplify add/update storage(DDB)', () => { expect(migrateFromVersion.v).not.toEqual(migrateToVersion.v); expect(allowedVersionsToMigrateFrom).toContain(migrateFromVersion.v); }); - beforeEach(async () => { - projRoot = await createNewProjectDir('ddb-add-update migration'); - }); afterEach(async () => { await deleteProject(projRoot, undefined, true); diff --git a/packages/amplify-migration-tests/src/setup-tests.ts b/packages/amplify-migration-tests/src/setup-tests.ts index 2e5654a6b21..b18a00e406f 100644 --- a/packages/amplify-migration-tests/src/setup-tests.ts +++ b/packages/amplify-migration-tests/src/setup-tests.ts @@ -2,3 +2,4 @@ const JEST_TIMEOUT = 1000 * 60 * 60; // 1 hour jest.setTimeout(JEST_TIMEOUT); +jest.retryTimes(1); \ No newline at end of file diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 1f1bc11c3fc..50fd69b77d0 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -10,6 +10,7 @@ const RUN_SOLO = [ 'env-3_pkg', 'dotnet_runtime_update_migration_pkg', 'notifications-in-app-messaging_pkg', + // 'notifications-migration-2_v6', 'import_auth_1a_pkg', 'import_auth_1b_pkg', 'import_auth_2a_pkg', From 538a33fba2e7ef147199f8e9854f85508724cfa7 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 13:19:16 -0500 Subject: [PATCH 57/69] ci: cleanup to use file names instead of old job names --- scripts/cci-utils.ts | 10 +- scripts/split-e2e-tests-v2.ts | 215 ++++++++++++++++------------------ 2 files changed, 109 insertions(+), 116 deletions(-) diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts index 2c15bf279ac..be0c6986020 100644 --- a/scripts/cci-utils.ts +++ b/scripts/cci-utils.ts @@ -18,13 +18,15 @@ export const AWS_REGIONS_TO_RUN_TESTS = [ // Some services (eg. amazon lex) are not available in all regions // Tests added to this list will always run in us-west-2 -export const FORCE_US_WEST_2 = ['interactions']; +export const FORCE_US_WEST_2 = [ + 'src/__tests__/interactions.test.ts' +]; // some tests require additional time, the parent account can handle longer tests (up to 90 minutes) export const USE_PARENT_ACCOUNT = [ - 'import_dynamodb_1', - 'import_s3_1', - 'searchable-migration', + 'src/__tests__/import_dynamodb_1.test.ts', + 'src/__tests__/import_s3_1.test.ts', + 'src/__tests__/transformer-migrations/searchable-migration.test.ts', ]; export const REPO_ROOT = join(__dirname, '..'); diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 50fd69b77d0..4f595caf375 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -1,115 +1,111 @@ import { CircleCIConfig, WorkflowJob } from "./cci-types"; -import { FORCE_US_WEST_2, getOldJobName, getOldJobNameWithoutSuffixes, loadTestTimings, USE_PARENT_ACCOUNT } from './cci-utils'; +import { FORCE_US_WEST_2, getOldJobNameWithoutSuffixes, loadTestTimings, USE_PARENT_ACCOUNT } from './cci-utils'; import { AWS_REGIONS_TO_RUN_TESTS as regions, getTestFiles } from "./cci-utils"; const RUN_SOLO = [ - 'auth_2e_pkg', - 'auth_2c_pkg', - 'env-3_pkg', - 'dotnet_runtime_update_migration_pkg', - 'notifications-in-app-messaging_pkg', - // 'notifications-migration-2_v6', - 'import_auth_1a_pkg', - 'import_auth_1b_pkg', - 'import_auth_2a_pkg', - 'import_auth_2b_pkg', - 'import_auth_3_pkg', - 'import_dynamodb_1_pkg', - 'import_dynamodb_2a_pkg', - 'import_dynamodb_2b_pkg', - 'import_dynamodb_2c_pkg', - 'import_s3_1_pkg', - 'import_s3_2a_pkg', - 'import_s3_2b_pkg', - 'import_s3_2c_pkg', - 'import_s3_3_pkg', - 'geo-add-e_pkg', - 'geo-add-f_pkg', - 'geo-remove-1_pkg', - 'geo-remove-2_pkg', - 'geo-remove-3_pkg', - 'geo-update-1_pkg', - 'geo-update-2_pkg', - 'containers-api-2_pkg', - 'containers-api-1_pkg', - 'schema-auth-11-a_pkg', - 'schema-auth-15_pkg', - 'schema-connection-1_pkg' + 'src/__tests__/auth_2c.test.ts', + 'src/__tests__/auth_2e.test.ts', + 'src/__tests__/containers-api-1.test.ts', + 'src/__tests__/containers-api-2.test.ts', + 'src/__tests__/env-3.test.ts', + 'src/__tests__/geo-add-e.test.ts', + 'src/__tests__/geo-add-f.test.ts', + 'src/__tests__/geo-remove-1.test.ts', + 'src/__tests__/geo-remove-2.test.ts', + 'src/__tests__/geo-remove-3.test.ts', + 'src/__tests__/geo-update-1.test.ts', + 'src/__tests__/geo-update-2.test.ts', + 'src/__tests__/import_auth_1a.test.ts', + 'src/__tests__/import_auth_1b.test.ts', + 'src/__tests__/import_auth_2a.test.ts', + 'src/__tests__/import_auth_2b.test.ts', + 'src/__tests__/import_auth_3.test.ts', + 'src/__tests__/import_dynamodb_1.test.ts', + 'src/__tests__/import_dynamodb_2a.test.ts', + 'src/__tests__/import_dynamodb_2b.test.ts', + 'src/__tests__/import_dynamodb_2c.test.ts', + 'src/__tests__/import_s3_1.test.ts', + 'src/__tests__/import_s3_2a.test.ts', + 'src/__tests__/import_s3_2b.test.ts', + 'src/__tests__/import_s3_2c.test.ts', + 'src/__tests__/import_s3_3.test.ts', + 'src/__tests__/notifications-in-app-messaging.test.ts', + 'src/__tests__/schema-auth-11-a.test.ts', + 'src/__tests__/schema-auth-15.test.ts', + 'src/__tests__/schema-connection-1.test.ts' ] const TEST_EXCLUSIONS: { l: string[], w: string[] } = { l: [], w: [ - 'amplify-app_pkg', - 'analytics_pkg', - 'analytics-2_pkg', - 'api_2a_pkg', - 'api_2b_pkg', - 'api_3_pkg', - 'api_5_pkg', - 'custom_policies_container_pkg', - 'datastore-modelgen_pkg', - 'delete_pkg', - 'diagnose_pkg', - 'env-2_pkg', - 'env-3_pkg', - 'export_pkg', - 'export-pull-d', - 'function_1_pkg', - 'function_2a_pkg', - 'function_2b_pkg', - 'function_3a_pkg', - 'function_3b_pkg', - 'function_4_pkg', - 'function_6_pkg', - 'function_7_pkg', - 'function_8_pkg', - 'geo-add-e_pkg', - 'geo-add-c_pkg', - 'geo-add-f_pkg', - 'geo-remove-1_pkg', - 'geo-remove-2_pkg', - 'geo-remove-3_pkg', - 'geo-update-1_pkg', - 'geo-update-2_pkg', - 'git-clone-attach_pkg', - 'hooks-a_pkg', - 'http-migration_pkg', - 'import_auth_1a_pkg', - 'import_auth_1b_pkg', - 'import_auth_2a_pkg', - 'import_auth_2b_pkg', - 'import_auth_3_pkg', - 'import_dynamodb_2a_pkg', - 'import_dynamodb_2c_pkg', - 'import_s3_1_pkg', - 'import_s3_2a_pkg', - 'import_s3_2c_pkg', - 'layer-2_pkg', - 'mock-api_pkg', - 'model-migration_pkg', - 'notifications-analytics-compatibility-in-app-1_pkg', - 'notifications-analytics-compatibility-sms-1_pkg', - 'notifications-analytics-compatibility-sms-2_pkg', - 'notifications-in-app-messaging-env-1_pkg', - 'notifications-in-app-messaging-env-2_pkg', - 'notifications-lifecycle_pkg', - 'notifications-sms_pkg', - 'notifications-sms-pull_pkg', - 'pull_pkg', - 'schema-auth-9-a_pkg', - 'schema-auth-9-b_pkg', - 'schema-auth-9-c_pkg', - 'schema-auth-11-a_pkg', - 'schema-auth-15_pkg', - 'schema-iterative-rollback-1_pkg', - 'schema-iterative-rollback-2_pkg', - 'searchable-migration_pkg', - 'storage-2_pkg', - 'storage-5_pkg', - 'studio-modelgen_pkg', - 'uibuilder_pkg', + 'src/__tests__/amplify-app.test.ts', + 'src/__tests__/analytics-2.test.ts', + 'src/__tests__/api_2a.test.ts', + 'src/__tests__/api_2b.test.ts', + 'src/__tests__/api_3.test.ts', + 'src/__tests__/api_5.test.ts', + 'src/__tests__/custom_policies_container.test.ts', + 'src/__tests__/datastore-modelgen.test.ts', + 'src/__tests__/delete.test.ts', + 'src/__tests__/diagnose.test.ts', + 'src/__tests__/env-2.test.ts', + 'src/__tests__/env-3.test.ts', + 'src/__tests__/export.test.ts', + 'src/__tests__/function_1.test.ts', + 'src/__tests__/function_2a.test.ts', + 'src/__tests__/function_2b.test.ts', + 'src/__tests__/function_3a.test.ts', + 'src/__tests__/function_3b.test.ts', + 'src/__tests__/function_4.test.ts', + 'src/__tests__/function_6.test.ts', + 'src/__tests__/function_7.test.ts', + 'src/__tests__/function_8.test.ts', + 'src/__tests__/geo-add-c.test.ts', + 'src/__tests__/geo-add-e.test.ts', + 'src/__tests__/geo-add-f.test.ts', + 'src/__tests__/geo-remove-1.test.ts', + 'src/__tests__/geo-remove-2.test.ts', + 'src/__tests__/geo-remove-3.test.ts', + 'src/__tests__/geo-update-1.test.ts', + 'src/__tests__/geo-update-2.test.ts', + 'src/__tests__/git-clone-attach.test.ts', + 'src/__tests__/hooks-a.test.ts', + 'src/__tests__/import_auth_1a.test.ts', + 'src/__tests__/import_auth_1b.test.ts', + 'src/__tests__/import_auth_2a.test.ts', + 'src/__tests__/import_auth_2b.test.ts', + 'src/__tests__/import_auth_3.test.ts', + 'src/__tests__/import_dynamodb_2a.test.ts', + 'src/__tests__/import_dynamodb_2c.test.ts', + 'src/__tests__/import_s3_1.test.ts', + 'src/__tests__/import_s3_2a.test.ts', + 'src/__tests__/import_s3_2c.test.ts', + 'src/__tests__/layer-2.test.ts', + 'src/__tests__/mock-api.test.ts', + 'src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts', + 'src/__tests__/notifications-analytics-compatibility-sms-1.test.ts', + 'src/__tests__/notifications-analytics-compatibility-sms-2.test.ts', + 'src/__tests__/notifications-in-app-messaging-env-1.test.ts', + 'src/__tests__/notifications-in-app-messaging-env-2.test.ts', + 'src/__tests__/notifications-lifecycle.test.ts', + 'src/__tests__/notifications-sms-pull.test.ts', + 'src/__tests__/notifications-sms.test.ts', + 'src/__tests__/pull.test.ts', + 'src/__tests__/schema-auth-11-a.test.ts', + 'src/__tests__/schema-auth-15.test.ts', + 'src/__tests__/schema-auth-9-a.test.ts', + 'src/__tests__/schema-auth-9-b.test.ts', + 'src/__tests__/schema-auth-9-c.test.ts', + 'src/__tests__/schema-iterative-rollback-1.test.ts', + 'src/__tests__/schema-iterative-rollback-2.test.ts', + 'src/__tests__/storage-2.test.ts', + 'src/__tests__/storage-5.test.ts', + 'src/__tests__/studio-modelgen.test.ts', + 'src/__tests__/transformer-migrations/http-migration.test.ts', + 'src/__tests__/transformer-migrations/model-migration.test.ts', + 'src/__tests__/transformer-migrations/searchable-migration.test.ts', + 'src/__tests__/uibuilder.test.ts' ], } const MAX_WORKERS = 3; @@ -124,10 +120,6 @@ type CandidateJob = { // by a via local_publish_helpers.sh script // account: string, } -type Job = CandidateJob & { - name: string; - requiredJobs: string[]; -} const createRandomJob = (os: OS_TYPE) : CandidateJob => { const region = regions[Math.floor(Math.random() * regions.length)]; @@ -171,7 +163,6 @@ export const splitTestsV2 = function splitTests( const runtimeB = testFileRunTimes.find((t) => t.test === b)?.medianRuntime ?? 30; return runtimeA - runtimeB; }); - const generateJobsForOS = (os: OS_TYPE) => { // migration tests are not supported for windows if(isMigration && os === 'w'){ @@ -183,14 +174,14 @@ export const splitTestsV2 = function splitTests( const currentJob = osJobs[osJobs.length - 1]; // if the current test is excluded from this OS, skip it - const oldName = getOldJobName(baseJobName, test); - if(TEST_EXCLUSIONS[os].find(excluded => oldName === excluded)) { + // const oldName = getOldJobName(baseJobName, test); + if(TEST_EXCLUSIONS[os].find(excluded => test === excluded)) { continue; } - const US_WEST_2 = FORCE_US_WEST_2.find(t => oldName.startsWith(t)); - const USE_PARENT = USE_PARENT_ACCOUNT.some((usesParent) => oldName.startsWith(usesParent)); + const US_WEST_2 = FORCE_US_WEST_2.find(t => test.startsWith(t)); + const USE_PARENT = USE_PARENT_ACCOUNT.some((usesParent) => test.startsWith(usesParent)); - if(RUN_SOLO.find(solo => oldName === solo)){ + if(RUN_SOLO.find(solo => test === solo)){ const newSoloJob = createRandomJob(os); newSoloJob.tests.push(test); if(US_WEST_2){ From d3054fc69223c651154766d0536a76075d9e98b3 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 17:26:41 -0500 Subject: [PATCH 58/69] chore: refactor --- package.json | 4 +- .../src/cleanup-e2e-resources.ts | 2 +- scripts/cci-data.sh | 13 -- ...-extract-test-timings-from-job-metrics.ts} | 6 + scripts/cci-get-job-metrics.ts | 13 ++ scripts/cci-get-test-metrics.ts | 12 ++ scripts/cci-utils.ts | 128 +++++++++++++----- scripts/cci-workflow-results.ts | 45 +----- scripts/cci.api.ts | 123 +++++++++++++++++ 9 files changed, 255 insertions(+), 91 deletions(-) delete mode 100644 scripts/cci-data.sh rename scripts/{cci-process-data.ts => cci-extract-test-timings-from-job-metrics.ts} (82%) create mode 100644 scripts/cci-get-job-metrics.ts create mode 100644 scripts/cci-get-test-metrics.ts create mode 100644 scripts/cci.api.ts diff --git a/package.json b/package.json index 1dc43e291e3..82301d7ce6e 100644 --- a/package.json +++ b/package.json @@ -28,9 +28,7 @@ "link-win": "node ./scripts/link-bin.js packages/amplify-cli/bin/amplify amplify-dev", "link-aa-win": "node ./scripts/link-bin.js packages/amplify-app/bin/amplify-app amplify-app-dev", "setup-dev-win": "yarn dev-build && yarn link-win && yarn link-aa-win", - "update-test-data": "source ./scripts/cci-data.sh && updateTestData", - "update-job-data": "source ./scripts/cci-data.sh && updateJobData", - "process-job-data": "yarn update-job-data && ts-node ./scripts/cci-process-data.ts", + "update-test-timing-data": "ts-node ./scripts/cci-get-job-metrics.ts && ts-node ./scripts/cci-extract-test-timings-from-job-metrics.ts", "workflow-results": "yarn ts-node ./scripts/cci-workflow-results.ts", "split-e2e-tests": "yarn ts-node ./scripts/split-e2e-tests.ts && git add .circleci/config.yml", "verify-commit": "yarn ts-node ./scripts/verify-commit.ts", diff --git a/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts b/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts index b561bff7bd2..d686a3e1de7 100644 --- a/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts +++ b/packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts @@ -9,7 +9,7 @@ import fs from 'fs-extra'; import path from 'path'; import { deleteS3Bucket, sleep } from '@aws-amplify/amplify-e2e-core'; -// Ensure to update scripts/split-e2e-tests.ts is also updated this gets updated +// Ensure that scripts/cci-utils.ts is also updated when this gets updated const AWS_REGIONS_TO_RUN_TESTS = [ 'us-east-1', 'us-east-2', diff --git a/scripts/cci-data.sh b/scripts/cci-data.sh deleted file mode 100644 index 29716312a1c..00000000000 --- a/scripts/cci-data.sh +++ /dev/null @@ -1,13 +0,0 @@ -function updateJobData { - curl --request GET \ - --url 'https://circleci.com/api/v2/insights/github/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/jobs?analytics-segmentation=web-ui-insights&all-branches=true&reporting-window=last-7-days' \ - --header "Circle-Token: $CIRCLECI_TOKEN" \ - -o ./scripts/cci-job.data.json -} - -function updateTestData { - curl --request GET \ - --url 'https://circleci.com/api/v2/insights/gh/aws-amplify/amplify-cli/workflows/build_test_deploy_v3/test-metrics?branch=dev&all-branches=false' \ - --header "Circle-Token: $CIRCLECI_TOKEN" \ - -o ./scripts/cci-test.data.json -} \ No newline at end of file diff --git a/scripts/cci-process-data.ts b/scripts/cci-extract-test-timings-from-job-metrics.ts similarity index 82% rename from scripts/cci-process-data.ts rename to scripts/cci-extract-test-timings-from-job-metrics.ts index b480842531b..d96c2a14023 100644 --- a/scripts/cci-process-data.ts +++ b/scripts/cci-extract-test-timings-from-job-metrics.ts @@ -1,6 +1,12 @@ import { join } from "path"; import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings } from "./cci-utils"; +/** + * In order to estimate the timing for a "test" file, we have to determine which + * job runs that "test" file. + * Job names are not consistent with "test" files, so we have to map from the old + * job name to find the job that ran it. + */ function main(): void { let testSuites = getTestFiles(join(REPO_ROOT, 'packages', 'amplify-e2e-tests')); testSuites.push(...getTestFiles(join(REPO_ROOT, 'packages', 'amplify-migration-tests'))); diff --git a/scripts/cci-get-job-metrics.ts b/scripts/cci-get-job-metrics.ts new file mode 100644 index 00000000000..f7865e875b4 --- /dev/null +++ b/scripts/cci-get-job-metrics.ts @@ -0,0 +1,13 @@ +import { getCCIClient, saveJobMetrics } from "./cci-utils"; + +const runIt = async () => { + const client = getCCIClient(); + console.log("Fetching job metrics..."); + const data = await client.getAllJobMetrics(); + saveJobMetrics(data); +} + +function main(): void { + runIt(); +} +main(); \ No newline at end of file diff --git a/scripts/cci-get-test-metrics.ts b/scripts/cci-get-test-metrics.ts new file mode 100644 index 00000000000..59b583d6736 --- /dev/null +++ b/scripts/cci-get-test-metrics.ts @@ -0,0 +1,12 @@ +import { getCCIClient, saveJobMetrics } from "./cci-utils"; + +const runIt = async () => { + const client = getCCIClient(); + const data = await client.getAllTestMetrics(); + saveJobMetrics(data); +} + +function main(): void { + runIt(); +} +main(); \ No newline at end of file diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts index be0c6986020..34a881b33a3 100644 --- a/scripts/cci-utils.ts +++ b/scripts/cci-utils.ts @@ -3,6 +3,21 @@ import * as fs from 'fs-extra'; import { join } from 'path'; import * as yaml from 'js-yaml'; import { CircleCIConfig } from './cci-types'; +import { CircleCIAPIClient, CircleCIClientDefaults } from './cci.api'; + +export const ClientDefaults: CircleCIClientDefaults = { + defaultBranch: 'dev', + defaultWorkflow: 'build_test_deploy_v3', + vcs: 'github', + projectSlug: 'aws-amplify', + projectName: 'amplify-cli', +} +export const getCCIClient = () => { + if(!process.env.CIRCLECI_TOKEN){ + throw new Error("CIRCLECI_TOKEN is not set. Export it to your terminal, then try again.") + } + return new CircleCIAPIClient(process.env.CIRCLECI_TOKEN, ClientDefaults); +} // Ensure to update packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts is also updated this gets updated export const AWS_REGIONS_TO_RUN_TESTS = [ @@ -30,6 +45,13 @@ export const USE_PARENT_ACCOUNT = [ ]; export const REPO_ROOT = join(__dirname, '..'); +const CIRCLECI_BASE_CONFIG_PATH = join(REPO_ROOT, '.circleci', 'config.base.yml'); +const CIRCLECI_GENERATED_CONFIG_PATH = join(REPO_ROOT, '.circleci', 'generated_config.yml'); +const TEST_METRICS_PATH = join(REPO_ROOT, 'scripts', 'cci-test.data.json'); +const JOB_METRICS_PATH = join(REPO_ROOT, 'scripts', 'cci-job.data.json'); +const TEST_TIMINGS_PATH = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); +const WORKFLOW_RESULTS_PATH = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.json'); +const WORKFLOW_RESULTS_HTML_PATH = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.html'); export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { return glob.sync(pattern, { cwd: dir }); @@ -42,13 +64,12 @@ export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[ * * The data in this file is at the TEST level. */ -export function loadTestData(): any { - const testData = join(REPO_ROOT, 'scripts', 'cci-test.data.json'); - return JSON.parse(fs.readFileSync(testData, 'utf-8')); +export function loadTestMetrics(): any { + return JSON.parse(fs.readFileSync(TEST_METRICS_PATH, 'utf-8')); } -export function saveTestData(data: any): any { - const testData = join(REPO_ROOT, 'scripts', 'cci-test.data.json'); - fs.writeFileSync(testData, JSON.stringify(data, null, 2)); +export function saveTestMetrics(data: any): any { + console.log(`saving test metrics to ${TEST_METRICS_PATH}`); + fs.writeFileSync(TEST_METRICS_PATH, JSON.stringify(data, null, 2)); } /** @@ -56,13 +77,12 @@ export function saveTestData(data: any): any { * * The data in this file is at the JOB level. */ -export function loadJobData(): any { - const testData = join(REPO_ROOT, 'scripts', 'cci-job.data.json'); - return JSON.parse(fs.readFileSync(testData, 'utf-8')); +export function loadJobMetrics(): any { + return JSON.parse(fs.readFileSync(JOB_METRICS_PATH, 'utf-8')); } -export function saveJobData(data: any): any { - const testData = join(REPO_ROOT, 'scripts', 'cci-job.data.json'); - fs.writeFileSync(testData, JSON.stringify(data, null, 2)); +export function saveJobMetrics(data: any): any { + console.log(`saving job metrics to ${JOB_METRICS_PATH}`); + fs.writeFileSync(JOB_METRICS_PATH, JSON.stringify(data, null, 2)); } /** @@ -71,45 +91,42 @@ export function saveJobData(data: any): any { * The data in this file is at the JOB level. */ export function loadTestTimings(): { timingData: { test: string, medianRuntime: number }[] }{ - const testData = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); - return JSON.parse(fs.readFileSync(testData, 'utf-8')); + return JSON.parse(fs.readFileSync(TEST_TIMINGS_PATH, 'utf-8')); } export function saveTestTimings(data: any): any { - const testData = join(REPO_ROOT, 'scripts', 'cci-test-timings.data.json'); - fs.writeFileSync(testData, JSON.stringify(data, null, 2)); + console.log(`saving timing data to ${TEST_TIMINGS_PATH}`); + fs.writeFileSync(TEST_TIMINGS_PATH, JSON.stringify(data, null, 2)); } +/** + * Workflow results provide a summary of tests failures after a workflow has completed. + * @param data + */ export function saveWorkflowResults(data: any): any { - const filePath = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.json'); - fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); + fs.writeFileSync(WORKFLOW_RESULTS_PATH, JSON.stringify(data, null, 2)); } export function saveWorkflowResultsHTML(data: any): any { - const filePath = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.html'); - fs.writeFileSync(filePath, data); + fs.writeFileSync(WORKFLOW_RESULTS_HTML_PATH, data); } /** - * Config file + * Loads the configuration file that is used as a base for generated the final configuration. */ export function loadConfig(): CircleCIConfig { - const configFile = join(REPO_ROOT, '.circleci', 'config.base.yml'); - return yaml.load(fs.readFileSync(configFile, 'utf8')); + return yaml.load(fs.readFileSync(CIRCLECI_BASE_CONFIG_PATH, 'utf8')); } +/** + * Saves the generated configuration file that will be used by the continuation orb after the setup has completed. + * @param config + */ export function saveConfig(config: CircleCIConfig): void { - const configFile = join(REPO_ROOT, '.circleci', 'generated_config.yml'); const output = ['# auto generated file. Edit config.base.yaml if you want to change', yaml.dump(config, { noRefs: true })]; - fs.writeFileSync(configFile, output.join('\n')); + fs.writeFileSync(CIRCLECI_GENERATED_CONFIG_PATH, output.join('\n')); } -export const getOldJobNameWithoutSuffixes = ( - testSuitePath: string): string => { - const startIndex = testSuitePath.lastIndexOf('/') + 1; - const endIndex = testSuitePath.lastIndexOf('.test'); - return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); -} /** - * The is how we generated job names when each file was assigned to a single job. + * Before split-e2e-tests-v2, this is how we generated job names when each file was assigned to a single job. * * @param baseJobName The root level folder (amplify-e2e-tests, amplify-migration-tests, etc...) * @param testSuitePath The test file name (some-e2e-test.e2e.test.ts, some-test.test.ts) @@ -119,9 +136,15 @@ export function getOldJobName(baseJobName: string, testSuitePath: string): strin const startIndex = testSuitePath.lastIndexOf('/') + 1; const endIndex = testSuitePath.lastIndexOf('.test'); let name = testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); + + // additional suffixes are added depending on what the 'base job' is called + // for most tests, they belong to the 'amplify-e2e-tests-pkg' job if (baseJobName.includes('pkg')) { name = name + '_pkg'; } + // some jobs belong to a migration test suite, and so the 'version' is appended to the job name + // for example: + // tests included in "amplify_migration_tests_v10" will be assigned to jobs with names like "migration-test-name_v10" if (baseJobName.includes('amplify_migration_tests')) { const startIndex = baseJobName.lastIndexOf('_'); name = name + baseJobName.substring(startIndex); @@ -129,6 +152,29 @@ export function getOldJobName(baseJobName: string, testSuitePath: string): strin return name; } +/** + * Same as getOldJobName, but excludes the suffixes like "_pkg" or "_v6", etc + * @param testSuitePath + * @returns + */ +export const getOldJobNameWithoutSuffixes = ( + testSuitePath: string): string => { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); +} + +/** + * For jobs before split-e2e-tests-v2, this function allows you to + * work backwards from the job name to the test which ran inside of that job. + * + * It essentially trims the suffixes from the job name, so you can focus on the test name. + * + * A job would typically have a name like "my-test_pkg-l_medium", and the test name is just "my-test". + * Another example is "my-test_pkg-w_medium", which has a test name of just "my-test". + * @param jobName + * @returns + */ function getTestNameFromOldJobName(jobName: string){ // first, remove any _pkg- from the name let name = jobName.split('_pkg-')[0]; @@ -140,8 +186,14 @@ function getTestNameFromOldJobName(jobName: string){ return name; } +/** + * This method uses old job data (before split-e2e-tests-v2) and the timings for those jobs + * to determine how long a test file takes to run. + * + * @returns + */ export function getTimingsFromJobsData() { - const jobData = loadJobData(); + const jobData = loadJobMetrics(); const jobTimings: Map = new Map(); for(let job of jobData.items){ const testName = getTestNameFromOldJobName(job.name); @@ -155,8 +207,16 @@ export function getTimingsFromJobsData() { return jobTimings; } +/** + * This method can be used to get the 'slowest' tests from all tests. + * Note: 'tests' do not mean 'test files' in this case. A 'test file' may contain multiple tests. + * Anywhere else, we treat a 'test file' as a single test. + * This is more specific, and looks at the sub-tests inside of each file. + * @param testSuites + * @returns + */ export const getSlowestTestsRunTimes = (testSuites: string[]) => { - const testData = loadTestData(); + const testData = loadTestMetrics(); // default sorted by slowest -> fastest const slowestTests: any[] = testData.slowest_tests.map((t:any) => { return { diff --git a/scripts/cci-workflow-results.ts b/scripts/cci-workflow-results.ts index 74a348ada1b..e97c135e774 100644 --- a/scripts/cci-workflow-results.ts +++ b/scripts/cci-workflow-results.ts @@ -1,50 +1,15 @@ -import { join } from "path"; -import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings, saveWorkflowResults, saveWorkflowResultsHTML } from "./cci-utils"; -import axios from 'axios'; - -const getWorkflowData = async () => { - const result = await axios.get(`https://circleci.com/api/v2/workflow/${process.env.CIRCLE_WORKFLOW_ID}/job`, { - headers: { - "Circle-Token": process.env.CIRCLECI_TOKEN - } - }); - return result.data; -} -const getJobData = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/job/${jobId}`, { - headers: { - "Circle-Token": process.env.CIRCLECI_TOKEN - } - }); - return result.data; -} -const getJobArtifacts = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/${jobId}/artifacts`, { - headers: { - "Circle-Token": process.env.CIRCLECI_TOKEN - } - }); - return result.data; -} -const getJobTests = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/github/aws-amplify/amplify-cli/${jobId}/tests`, { - headers: { - "Circle-Token": process.env.CIRCLECI_TOKEN - } - }); - return result.data; -} - +import { getCCIClient, saveWorkflowResults, saveWorkflowResultsHTML } from "./cci-utils"; const runit = async () => { - const data = await getWorkflowData(); + const client = getCCIClient(); + const data = await client.getWorkflowJobs(); const failed = data.items.filter((i: any) => i.status === 'failed'); const summary = []; for(let f of failed){ try { - const jobData = await getJobData(f.job_number); + const jobData = await client.getJobDetails(f.job_number); // const artifacts = await getJobArtifacts(f.job_number); - const tests = await getJobTests(f.job_number); + const tests = await client.getJobTests(f.job_number); summary.push({ jobName: jobData.name, jobUrl: jobData.web_url, diff --git a/scripts/cci.api.ts b/scripts/cci.api.ts new file mode 100644 index 00000000000..da533548378 --- /dev/null +++ b/scripts/cci.api.ts @@ -0,0 +1,123 @@ +import axios from 'axios'; + +type ReportingWindow = "last-7-days" | "last-90-days" | "last-24-hours" | "last-30-days" | "last-60-days"; +export type CircleCIClientDefaults = { + defaultBranch: string, + defaultWorkflow: string, + vcs: string, + projectSlug: string, + projectName: string, +} +export class CircleCIAPIClient { + + private headers; + private options: CircleCIClientDefaults; + private slug: string; + constructor( + token: string, + options: CircleCIClientDefaults + ) { + this.headers = { + "Circle-Token": token + } + this.options = options; + this.slug = `${options.vcs}/${options.projectSlug}/${options.projectName}`; + } + + /** + * Returns a sequence of jobs for a workflow. + * + * https://circleci.com/docs/api/v2/index.html#operation/listWorkflowJobs + * @returns + */ + getWorkflowJobs = async (workflowId: string = this.options.defaultWorkflow) => { + const result = await axios.get(`https://circleci.com/api/v2/workflow/${workflowId}/job`, { + headers: this.headers + }); + return result.data; + } + /** + * Returns a job's details. + * + * https://circleci.com/docs/api/v2/index.html#operation/getJobDetails + * @param jobId + * @returns + */ + getJobDetails = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/job/${jobId}`, { + headers: this.headers + }); + return result.data; + } + /** + * Returns a single job's artifacts. + * + * https://circleci.com/docs/api/v2/index.html#operation/getJobArtifacts + * @param jobId + * @returns + */ + getJobArtifacts = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/artifacts`, { + headers: this.headers + }); + return result.data; + } + /** + * Get test metadata for a single job + * + * https://circleci.com/docs/api/v2/index.html#operation/getTests + * @param jobId + * @returns + */ + getJobTests = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/tests`, { + headers: this.headers + }); + return result.data; + } + /** + * Get summary metrics for a project workflow's jobs. + * + * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowJobMetrics + * + * @param workflowName + * @param branch + * @param reportingWindow + * @returns + */ + getAllJobMetrics = async ( + workflowName: string = this.options.defaultWorkflow, + branch: string = this.options.defaultBranch, + reportingWindow: ReportingWindow = 'last-30-days') => { + const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/jobs`, { + headers: this.headers, + params: { + "branch": branch, + "reporting-window": reportingWindow + } + }); + return result.data; + } + + /** + * Get test metrics for a project's workflows. + * + * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowTestMetrics + * @param workflowName + * @param branch + * @param reportingWindow + * @returns + */ + getAllTestMetrics = async( + workflowName: string = this.options.defaultWorkflow, + branch: string = this.options.defaultBranch) => { + const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/test-metrics`, { + headers: this.headers, + params: { + "branch": branch + } + }); + return result.data; + } +} + From 6fb874e754f1472149367c072e768cb89727ecb2 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 18:10:19 -0500 Subject: [PATCH 59/69] ci: fix dependencies --- scripts/package.json | 3 +- scripts/split-e2e-tests-v2.ts | 6 - scripts/yarn.lock | 294 ++-------------------------------- 3 files changed, 11 insertions(+), 292 deletions(-) diff --git a/scripts/package.json b/scripts/package.json index 2eb694e041d..ae3c50f4298 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -9,6 +9,7 @@ "author": "", "license": "ISC", "dependencies": { + "axios": "^0.26.0", "@types/fs-extra": "^9.0.13", "@types/glob": "^7.2.0", "@types/js-yaml": "^4.0.4", @@ -20,4 +21,4 @@ "ts-node": "^10.4.0", "typescript": "^4.4.4" } -} +} \ No newline at end of file diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 4f595caf375..9c3fbb0d53d 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -174,7 +174,6 @@ export const splitTestsV2 = function splitTests( const currentJob = osJobs[osJobs.length - 1]; // if the current test is excluded from this OS, skip it - // const oldName = getOldJobName(baseJobName, test); if(TEST_EXCLUSIONS[os].find(excluded => test === excluded)) { continue; } @@ -204,10 +203,6 @@ export const splitTestsV2 = function splitTests( } // create a new job once the current job is full; - // migration tests are 1-1 due to limitations with older cli versions - // if(isMigration || currentJob.tests.length >= MAX_WORKERS){ - // osJobs.push(createRandomJob(os)); - // } if(currentJob.tests.length >= MAX_WORKERS){ osJobs.push(createRandomJob(os)); } @@ -226,7 +221,6 @@ export const splitTestsV2 = function splitTests( continue; } const names = j.tests.map(tn => getOldJobNameWithoutSuffixes(tn)).join('_'); - // const jobName = `${j.os}_${j.os === 'l' ? counts.l : counts.w }${isMigration ? '_migration' : ''}`; let jobName = `${j.os}_${names}`; if(isMigration){ const startIndex = baseJobName.lastIndexOf('_'); diff --git a/scripts/yarn.lock b/scripts/yarn.lock index 0ab1deccbb9..b90d2404fc2 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -14,80 +14,6 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@microsoft/api-extractor-model@7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.25.2.tgz#a3e69e952122bbe3f0fc339a8ce0d9d20dd06406" - integrity sha512-+h1uCrLQXFAKMUdghhdDcnniDB+6UA/lS9ArlB4QZQ34UbLuXNy2oQ6fafFK8cKXU4mUPTF/yGRjv7JKD5L7eg== - dependencies: - "@microsoft/tsdoc" "0.14.2" - "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.2" - -"@microsoft/api-extractor@^7.33.5": - version "7.33.5" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.33.5.tgz#6f6791aa0b30fe1581002912ebd4565ef8313323" - integrity sha512-ENoWpTWarKNuodpRFDQr3jyBigHuv98KuJ8H5qXc1LZ1aP5Mk77lCo88HbPisTmSnGevJJHTScfd/DPznOb4CQ== - dependencies: - "@microsoft/api-extractor-model" "7.25.2" - "@microsoft/tsdoc" "0.14.2" - "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.2" - "@rushstack/rig-package" "0.3.17" - "@rushstack/ts-command-line" "4.13.0" - colors "~1.2.1" - lodash "~4.17.15" - resolve "~1.17.0" - semver "~7.3.0" - source-map "~0.6.1" - typescript "~4.8.4" - -"@microsoft/tsdoc-config@~0.16.1": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf" - integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw== - dependencies: - "@microsoft/tsdoc" "0.14.2" - ajv "~6.12.6" - jju "~1.4.0" - resolve "~1.19.0" - -"@microsoft/tsdoc@0.14.2": - version "0.14.2" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" - integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== - -"@rushstack/node-core-library@3.53.2": - version "3.53.2" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.53.2.tgz#f442e121f9e6c8bef9a23b7337e6399ab5c0c579" - integrity sha512-FggLe5DQs0X9MNFeJN3/EXwb+8hyZUTEp2i+V1e8r4Va4JgkjBNY0BuEaQI+3DW6S4apV3UtXU3im17MSY00DA== - dependencies: - "@types/node" "12.20.24" - colors "~1.2.1" - fs-extra "~7.0.1" - import-lazy "~4.0.0" - jju "~1.4.0" - resolve "~1.17.0" - semver "~7.3.0" - z-schema "~5.0.2" - -"@rushstack/rig-package@0.3.17": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.17.tgz#687bd55603f2902447f3be246d93afac97095a1f" - integrity sha512-nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA== - dependencies: - resolve "~1.17.0" - strip-json-comments "~3.1.1" - -"@rushstack/ts-command-line@4.13.0": - version "4.13.0" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz#a56aa90e5742c25d330cdb0cda1da19225d7bfcf" - integrity sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg== - dependencies: - "@types/argparse" "1.0.38" - argparse "~1.0.9" - colors "~1.2.1" - string-argv "~0.3.1" - "@tsconfig/node10@^1.0.7": version "1.0.8" resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" @@ -108,11 +34,6 @@ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== -"@types/argparse@1.0.38": - version "1.0.38" - resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" - integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== - "@types/fs-extra@^9.0.13": version "9.0.13" resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" @@ -143,11 +64,6 @@ resolved "https://registry.npmjs.org/@types/node/-/node-16.11.5.tgz#e91be5ba4ab88c06095e7b61f9ad1767a1093faf" integrity sha512-NyUV2DGcqYIx9op++MG2+Z4Nhw1tPhi0Wfs81TgncuX1aJC4zf2fgCJlJhl4BW9bCSS04e34VkqmOS96w0XQdg== -"@types/node@12.20.24": - version "12.20.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" - integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== - acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -158,16 +74,6 @@ acorn@^8.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== -ajv@~6.12.6: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -178,12 +84,12 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -argparse@~1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== +axios@^0.26.0: + version "0.26.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" + integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== dependencies: - sprintf-js "~1.0.2" + follow-redirects "^1.14.8" balanced-match@^1.0.0: version "1.0.2" @@ -198,16 +104,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -colors@~1.2.1: - version "1.2.5" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" - integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== - -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -247,15 +143,10 @@ execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +follow-redirects@^1.14.8: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== fs-extra@^10.0.0: version "10.0.0" @@ -266,25 +157,11 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@~7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -302,33 +179,16 @@ glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -graceful-fs@^4.1.2: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.8" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -import-lazy@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -342,13 +202,6 @@ inherits@2: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -is-core-module@^2.1.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -359,11 +212,6 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -jju@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" - integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -371,18 +219,6 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -392,28 +228,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash@~4.17.15: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -467,38 +281,6 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -resolve@~1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@~1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -semver@~7.3.0: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -516,31 +298,11 @@ signal-exit@^3.0.3: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -string-argv@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - ts-node@^10.4.0: version "10.4.0" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" @@ -564,33 +326,11 @@ typescript@^4.4.4: resolved "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== -typescript@~4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -validator@^13.7.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" - integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== - which@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -603,23 +343,7 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -z-schema@~5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.4.tgz#ecad8bc5ef3283ae032d603286386cfb1380cce5" - integrity sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA== - dependencies: - lodash.get "^4.4.2" - lodash.isequal "^4.5.0" - validator "^13.7.0" - optionalDependencies: - commander "^2.20.3" From fb590c5bea7762b4a274b9a964828fcfc6e45572 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 21:19:44 -0500 Subject: [PATCH 60/69] ci: attempt to fix retry on windows --- .circleci/config.base.yml | 3 +-- .circleci/local_publish_helpers.sh | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index f4af19b6c14..4df95014b10 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1268,8 +1268,7 @@ commands: source .circleci/local_publish_helpers.sh source $BASH_ENV amplify version - cd packages/amplify-e2e-tests - retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE + retry runE2eTest no_output_timeout: 65m - when: condition: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index 796b1c429e0..642ba47af36 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -221,10 +221,7 @@ function retry { fi resetAwsAccountCredentials - TEST_SUITE=${TEST_SUITE:-"TestSuiteNotSet"} - aws cloudwatch put-metric-data --metric-name FlakyE2ETests --namespace amplify-cli-e2e-tests --unit Count --value $n --dimensions testFile=$TEST_SUITE echo "Attempt $n succeeded." - exit 0 # don't fail the step if putting the metric fails } function resetAwsAccountCredentials { From fa1b2d096fd91ce91954e3d6125f78a80292da8c Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Wed, 11 Jan 2023 22:49:02 -0500 Subject: [PATCH 61/69] chore: revert retry changes --- .circleci/config.base.yml | 3 ++- .circleci/local_publish_helpers.sh | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 4df95014b10..f4af19b6c14 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -1268,7 +1268,8 @@ commands: source .circleci/local_publish_helpers.sh source $BASH_ENV amplify version - retry runE2eTest + cd packages/amplify-e2e-tests + retry yarn run e2e --no-cache --maxWorkers=3 $TEST_SUITE no_output_timeout: 65m - when: condition: diff --git a/.circleci/local_publish_helpers.sh b/.circleci/local_publish_helpers.sh index 642ba47af36..796b1c429e0 100644 --- a/.circleci/local_publish_helpers.sh +++ b/.circleci/local_publish_helpers.sh @@ -221,7 +221,10 @@ function retry { fi resetAwsAccountCredentials + TEST_SUITE=${TEST_SUITE:-"TestSuiteNotSet"} + aws cloudwatch put-metric-data --metric-name FlakyE2ETests --namespace amplify-cli-e2e-tests --unit Count --value $n --dimensions testFile=$TEST_SUITE echo "Attempt $n succeeded." + exit 0 # don't fail the step if putting the metric fails } function resetAwsAccountCredentials { From c31f7e73ba48fcc1cceeebd3ce1880fcdb3382ca Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 13 Jan 2023 18:28:32 -0500 Subject: [PATCH 62/69] chore: undo changes to addCircleCiTags --- .../src/init/initProjectHelper.ts | 44 +++++++++--------- .../src/utils/add-circleci-tags.ts | 45 +------------------ .../amplify-e2e-core/src/utils/pinpoint.ts | 4 +- .../src/init-special-cases/index.ts | 2 +- .../src/migration-helpers-v10/init.ts | 4 +- .../src/migration-helpers/init.ts | 16 +++---- 6 files changed, 36 insertions(+), 79 deletions(-) diff --git a/packages/amplify-e2e-core/src/init/initProjectHelper.ts b/packages/amplify-e2e-core/src/init/initProjectHelper.ts index 3c6fc0cebc6..7eb1f1818ec 100644 --- a/packages/amplify-e2e-core/src/init/initProjectHelper.ts +++ b/packages/amplify-e2e-core/src/init/initProjectHelper.ts @@ -31,7 +31,7 @@ const defaultSettings = { permissionsBoundaryArn: undefined, }; -export async function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { +export function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -41,7 +41,7 @@ export async function initJSProjectWithProfile(cwd: string, settings?: Partial): Promise { +export function initAndroidProjectWithProfile(cwd: string, settings: Partial): Promise { const s = { ...defaultSettings, ...settings }; - await addCircleCITags(cwd); + addCircleCITags(cwd); let env; @@ -139,9 +139,9 @@ export async function initAndroidProjectWithProfile(cwd: string, settings: Parti .wait('Help improve Amplify CLI by sharing non sensitive configurations on failures') .sendYes() .wait(/Try "amplify add api" to create a backend API and then "amplify (push|publish)" to deploy everything/) - .run(async (err: Error) => { + .run((err: Error) => { if (!err) { - await addCircleCITags(cwd); + addCircleCITags(cwd); resolve(); } else { @@ -157,10 +157,10 @@ export function createRandomName(): string { return uuid().replace(regExp, '').substring(0, length); } -export async function initIosProjectWithProfile(cwd: string, settings: Record): Promise { +export function initIosProjectWithProfile(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -188,9 +188,9 @@ export async function initIosProjectWithProfile(cwd: string, settings: Record { + .run((err: Error) => { if (!err) { - await addCircleCITags(cwd); + addCircleCITags(cwd); resolve(); } else { @@ -200,10 +200,10 @@ export async function initIosProjectWithProfile(cwd: string, settings: Record): Promise { +export function initFlutterProjectWithProfile(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { cwd, stripColors: true }) @@ -239,13 +239,13 @@ export async function initFlutterProjectWithProfile(cwd: string, settings: Recor }); } -export async function initProjectWithAccessKey( +export function initProjectWithAccessKey( cwd: string, settings: { accessKeyId: string; secretAccessKey: string; region?: string }, ): Promise { const s = { ...defaultSettings, ...settings }; - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { @@ -300,8 +300,8 @@ export async function initProjectWithAccessKey( }); } -export async function initNewEnvWithAccessKey(cwd: string, s: { envName: string; accessKeyId: string; secretAccessKey: string }): Promise { - await addCircleCITags(cwd); +export function initNewEnvWithAccessKey(cwd: string, s: { envName: string; accessKeyId: string; secretAccessKey: string }): Promise { + addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { @@ -338,8 +338,8 @@ export async function initNewEnvWithAccessKey(cwd: string, s: { envName: string; }); } -export async function initNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { - await addCircleCITags(cwd); +export function initNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -369,8 +369,8 @@ export async function initNewEnvWithProfile(cwd: string, s: { envName: string }) }); } -export async function updatedInitNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { - await addCircleCITags(cwd); +export function updatedInitNewEnvWithProfile(cwd: string, s: { envName: string }): Promise { + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -397,7 +397,7 @@ export async function updatedInitNewEnvWithProfile(cwd: string, s: { envName: st }); } -export async function amplifyInitSandbox(cwd: string, settings: Record): Promise { +export function amplifyInitSandbox(cwd: string, settings: Record): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -407,7 +407,7 @@ export async function amplifyInitSandbox(cwd: string, settings: Record { spawn(getCLIPath(), ['init'], { cwd, stripColors: true, env }) diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index a354040a47d..70673bc72c9 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -15,9 +15,8 @@ declare global { /* eslint-enable */ } -export const addCircleCITags = async (projectPath: string): Promise => { +export const addCircleCITags = (projectPath: string): void => { if (process.env && process.env['CIRCLECI']) { - // await staggerInitCalls(projectPath); const tags = stateManager.getProjectTags(projectPath); @@ -58,45 +57,3 @@ export const addCircleCITags = async (projectPath: string): Promise => { export function sanitizeTagValue(value: string): string { return value.replace(/[^ a-z0-9_.:/=+\-@]/gi, ''); } - -/** - * Jest runs tests that start at the same time, which can lead to issues - * when running amplify init on 4 tests simultaneously. - * - * We need a way to stagger the tests while still taking advantage of Jest-Workers, - * so the individual tests need a way to communicate with each other & offset their - * start times. - * - * We can't use the CLI's process to do this either, because the Node.js context - * will be unique for each test. - * - * Solution: we can use the file system to create a mutex, and allow the tests - * to communicate their start times with each other. - * - * @param projectPath - */ -const staggerInitCalls = async (projectPath: string) => { - const lock = path.join(projectPath, '..', 'init-lock.txt'); - // one test will create the lock first, 15 seconds should be enough to allow 1 test to do this first without collision risk - const initialDelay = Math.floor(Math.random() * 15 * 1000); - await sleep(initialDelay); - while(true){ - if(fs.existsSync(lock)) { - await sleep(1 * 1000);// wait - // console.log("waiting to start"); - continue; - } else { - // create a lock file - try { - fs.writeFileSync(lock, ''); - console.log("holding lock file", lock); - await sleep(15 * 1000); // hold the lock for 15 seconds - fs.unlinkSync(lock); - break; - } catch (e){ - // some other test created it first - } - } - } - console.log("init called:", new Date().toISOString()); -} \ No newline at end of file diff --git a/packages/amplify-e2e-core/src/utils/pinpoint.ts b/packages/amplify-e2e-core/src/utils/pinpoint.ts index e35600d4663..807c2e83470 100644 --- a/packages/amplify-e2e-core/src/utils/pinpoint.ts +++ b/packages/amplify-e2e-core/src/utils/pinpoint.ts @@ -82,8 +82,8 @@ export async function pinpointAppExist(pinpointProjectId: string): Promise { - await addCircleCITags(cwd); +export function initProjectForPinpoint(cwd: string): Promise { + addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { diff --git a/packages/amplify-e2e-tests/src/init-special-cases/index.ts b/packages/amplify-e2e-tests/src/init-special-cases/index.ts index 93bfbeb5ea8..9d928a1d343 100644 --- a/packages/amplify-e2e-tests/src/init-special-cases/index.ts +++ b/packages/amplify-e2e-tests/src/init-special-cases/index.ts @@ -41,7 +41,7 @@ export async function initWithoutCredentialFileAndNoNewUserSetup(projRoot) { } async function initWorkflow(cwd: string, settings: { accessKeyId: string; secretAccessKey: string; region: string }): Promise { - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { const chain = spawn(getCLIPath(), ['init'], { diff --git a/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts b/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts index 239e416acb0..7b5efdf615e 100644 --- a/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts +++ b/packages/amplify-migration-tests/src/migration-helpers-v10/init.ts @@ -23,7 +23,7 @@ const defaultSettings = { permissionsBoundaryArn: undefined, }; -export async function initJSProjectWithProfileV10(cwd: string, settings?: Partial): Promise { +export function initJSProjectWithProfileV10(cwd: string, settings?: Partial): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -33,7 +33,7 @@ export async function initJSProjectWithProfileV10(cwd: string, settings?: Partia }; } - await addCircleCITags(cwd); + addCircleCITags(cwd); const cliArgs = ['init']; const providerConfigSpecified = !!s.providerConfig && typeof s.providerConfig === 'object'; diff --git a/packages/amplify-migration-tests/src/migration-helpers/init.ts b/packages/amplify-migration-tests/src/migration-helpers/init.ts index 8a49506a919..63f930cfed6 100644 --- a/packages/amplify-migration-tests/src/migration-helpers/init.ts +++ b/packages/amplify-migration-tests/src/migration-helpers/init.ts @@ -18,7 +18,7 @@ const defaultSettings = { disableAmplifyAppCreation: true, }; -export async function initJSProjectWithProfileV4_28_2(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { +export function initJSProjectWithProfileV4_28_2(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -28,7 +28,7 @@ export async function initJSProjectWithProfileV4_28_2(cwd: string, settings: Obj }; } - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['init'], { cwd, stripColors: true, env }) @@ -66,7 +66,7 @@ export async function initJSProjectWithProfileV4_28_2(cwd: string, settings: Obj }); } -export async function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { +export function initJSProjectWithProfileV4_52_0(cwd: string, settings: Object, testingWithLatestCodebase = false): Promise { const s = { ...defaultSettings, ...settings }; let env; @@ -76,7 +76,7 @@ export async function initJSProjectWithProfileV4_52_0(cwd: string, settings: Obj }; } - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['init'], { cwd, stripColors: true, env }) @@ -116,10 +116,10 @@ export async function initJSProjectWithProfileV4_52_0(cwd: string, settings: Obj }); } -export async function initAndroidProjectWithProfile(cwd: string, settings: Object): Promise { +export function initAndroidProjectWithProfile(cwd: string, settings: Object): Promise { const s = { ...defaultSettings, ...settings }; - await addCircleCITags(cwd); + addCircleCITags(cwd); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['init'], { @@ -147,9 +147,9 @@ export async function initAndroidProjectWithProfile(cwd: string, settings: Objec .wait('Please choose the profile you want to use') .sendLine(s.profileName) .wait(/Try "amplify add api" to create a backend API and then "amplify (push|publish)" to deploy everything/) - .run(async (err: Error) => { + .run((err: Error) => { if (!err) { - await addCircleCITags(cwd); + addCircleCITags(cwd); resolve(); } else { From 01f46b0300f8ba4ce7314a051f6e5ca6e7b77562 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 13 Jan 2023 18:57:27 -0500 Subject: [PATCH 63/69] chore: address PR feedback --- packages/amplify-cli/src/initialize-env.ts | 1 - packages/amplify-e2e-core/src/index.ts | 2 +- .../amplify-e2e-core/src/utils/add-circleci-tags.ts | 3 --- packages/amplify-e2e-core/src/utils/index.ts | 4 +++- scripts/artifact-storage-path-allow-list.ts | 1 - scripts/cci-workflow-results.ts | 12 ++++++++++-- scripts/split-e2e-tests-v2.ts | 2 +- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/amplify-cli/src/initialize-env.ts b/packages/amplify-cli/src/initialize-env.ts index f36c9187a52..ae5cd0f4f43 100644 --- a/packages/amplify-cli/src/initialize-env.ts +++ b/packages/amplify-cli/src/initialize-env.ts @@ -1,4 +1,3 @@ -import ora from 'ora'; import sequential from 'promise-sequential'; import { stateManager, $TSAny, $TSMeta, $TSContext, AmplifyFault, diff --git a/packages/amplify-e2e-core/src/index.ts b/packages/amplify-e2e-core/src/index.ts index 91520ca7a9c..72155702fdf 100644 --- a/packages/amplify-e2e-core/src/index.ts +++ b/packages/amplify-e2e-core/src/index.ts @@ -8,7 +8,7 @@ import * as path from 'path'; import * as fs from 'fs-extra'; import * as ini from 'ini'; -import { spawnSync, execSync } from 'child_process'; +import { spawnSync } from 'child_process'; import { v4 as uuid } from 'uuid'; import { pathManager } from 'amplify-cli-core'; import { gt } from 'semver'; diff --git a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts index 70673bc72c9..6c2d7fee7a2 100644 --- a/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts +++ b/packages/amplify-e2e-core/src/utils/add-circleci-tags.ts @@ -1,7 +1,4 @@ import { stateManager } from 'amplify-cli-core'; -import * as fs from 'fs-extra'; -import * as path from 'path'; -import { sleep } from './sleep'; declare global { /* eslint-disable @typescript-eslint/no-namespace */ diff --git a/packages/amplify-e2e-core/src/utils/index.ts b/packages/amplify-e2e-core/src/utils/index.ts index d812584741c..e87046b5e0c 100644 --- a/packages/amplify-e2e-core/src/utils/index.ts +++ b/packages/amplify-e2e-core/src/utils/index.ts @@ -42,8 +42,10 @@ config(); * delete project directory */ export const deleteProjectDir = (root: string): void => { - if(fs.existsSync(root)){ + try { rimraf.sync(root); + } catch(e){ + // directory does not exist/was already deleted } }; diff --git a/scripts/artifact-storage-path-allow-list.ts b/scripts/artifact-storage-path-allow-list.ts index 24817cd1fb4..da77ea7926d 100644 --- a/scripts/artifact-storage-path-allow-list.ts +++ b/scripts/artifact-storage-path-allow-list.ts @@ -34,7 +34,6 @@ export const ARTIFACT_STORAGE_PATH_ALLOW_LIST = [ '~/repo/artifacts', '~/repo/packages/amplify-util-mock/', - '~/repo/packages/amplify-util-mock/', '~/repo/packages/graphql-transformers-e2e-tests/', '~/repo/packages/amplify-e2e-tests/', '~/repo/packages/amplify-e2e-tests/amplify-e2e-reports', diff --git a/scripts/cci-workflow-results.ts b/scripts/cci-workflow-results.ts index e97c135e774..e7b7fa644b8 100644 --- a/scripts/cci-workflow-results.ts +++ b/scripts/cci-workflow-results.ts @@ -1,6 +1,14 @@ import { getCCIClient, saveWorkflowResults, saveWorkflowResultsHTML } from "./cci-utils"; -const runit = async () => { +/** + * This function runs after a CircleCI workflow has completed (build_test_deploy) + * and aggretates the test results from the workflow into a single html/json file + * that is easier to read. It eliminates the need to have to scan each individual + * failed job. + * Links to the job are provided, so you can just view the html file and + * open failed jobs from there. + */ +const getWorkflowDataAndSummarizeResults = async () => { const client = getCCIClient(); const data = await client.getWorkflowJobs(); const failed = data.items.filter((i: any) => i.status === 'failed'); @@ -55,6 +63,6 @@ const toHTML = (summary: any) => { } function main(): void { - runit(); + getWorkflowDataAndSummarizeResults(); } main(); \ No newline at end of file diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 9c3fbb0d53d..20d82efaf12 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -250,7 +250,7 @@ export const splitTestsV2 = function splitTests( generateJobConfigurations(windowsJobs); - // Spilt jobs by region + // Split jobs by region const jobByRegion = Object.entries(newJobConfigurations).reduce((acc: Record, entry: [string, any]) => { const [jobName, job] = entry; const region = job?.environment?.CLI_REGION; From 8370b7178ee91fed2574e51473af78d4ea469fff Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Fri, 13 Jan 2023 19:13:04 -0500 Subject: [PATCH 64/69] chore: undo changes to spinners --- packages/amplify-cli/src/commands/push.ts | 8 ++++---- packages/amplify-cli/src/initialize-env.ts | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/amplify-cli/src/commands/push.ts b/packages/amplify-cli/src/commands/push.ts index 15881e9289d..89723ddde86 100644 --- a/packages/amplify-cli/src/commands/push.ts +++ b/packages/amplify-cli/src/commands/push.ts @@ -3,9 +3,9 @@ import { $TSContext, AmplifyError, AmplifyFault, + spinner, stateManager, } from 'amplify-cli-core'; -import { printer } from 'amplify-prompts'; import sequential from 'promise-sequential'; import { notifyFieldAuthSecurityChange, @@ -43,11 +43,11 @@ const syncCurrentCloudBackend = async (context: $TSContext): Promise => { securityChangeNotified = await notifyListQuerySecurityChange(context); } - printer.info(`Fetching updates to backend environment: ${currentEnv} from the cloud.`); + spinner.start(`Fetching updates to backend environment: ${currentEnv} from the cloud.`); await sequential(pullCurrentCloudTasks); - printer.success(`Successfully pulled backend environment ${currentEnv} from the cloud.`); + spinner.succeed(`Successfully pulled backend environment ${currentEnv} from the cloud.`); } catch (e) { - printer.error(`There was an error pulling the backend environment ${currentEnv}.`); + spinner.fail(`There was an error pulling the backend environment ${currentEnv}.`); throw new AmplifyFault('BackendPullFault', { message: e.message }, e); } }; diff --git a/packages/amplify-cli/src/initialize-env.ts b/packages/amplify-cli/src/initialize-env.ts index ae5cd0f4f43..d0bd208ce52 100644 --- a/packages/amplify-cli/src/initialize-env.ts +++ b/packages/amplify-cli/src/initialize-env.ts @@ -1,3 +1,4 @@ +import ora from 'ora'; import sequential from 'promise-sequential'; import { stateManager, $TSAny, $TSMeta, $TSContext, AmplifyFault, @@ -7,6 +8,7 @@ import { ensureEnvParamManager, IEnvironmentParameterManager } from '@aws-amplif import { getProviderPlugins } from './extensions/amplify-helpers/get-provider-plugins'; import { ManuallyTimedCodePath } from './domain/amplify-usageData/UsageDataTypes'; +const spinner = ora(''); /** * Entry point for initializing an environment. Delegates out to plugins initEnv function */ @@ -76,7 +78,7 @@ export const initializeEnv = async ( } } - printer.info( + spinner.start( isPulling ? `Fetching updates to backend environment: ${currentEnv} from the cloud.` : `Initializing your environment: ${currentEnv}` ); @@ -92,7 +94,7 @@ export const initializeEnv = async ( context.usageData.stopCodePathTimer(ManuallyTimedCodePath.INIT_ENV_PLATFORM); } - printer.info( + spinner.info( isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.' ); @@ -133,10 +135,10 @@ export const initializeEnv = async ( // Generate AWS exports/configuration file await context.amplify.onCategoryOutputsChange(context, currentAmplifyMeta); - printer.success(isPulling ? '' : 'Initialized your environment successfully.'); + spinner.succeed(isPulling ? '' : 'Initialized your environment successfully.'); } catch (e) { // let the error propagate up after we safely exit - printer.error('There was an error initializing your environment.'); + spinner.fail('There was an error initializing your environment.'); throw e; } }; From ae885d20e3ae50a8638e69b57bd3489c65b00d01 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 17 Jan 2023 14:08:09 -0500 Subject: [PATCH 65/69] chore: cleanup unused files --- jest.config.js | 1 - setup-jest.js | 0 2 files changed, 1 deletion(-) delete mode 100644 setup-jest.js diff --git a/jest.config.js b/jest.config.js index 5b309fc82b0..11d2df11357 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,6 +1,5 @@ module.exports = { preset: 'ts-jest', - setupFilesAfterEnv: ['/setup-jest.js'], bail: false, verbose: true, testRunner: 'jest-circus/runner', diff --git a/setup-jest.js b/setup-jest.js deleted file mode 100644 index e69de29bb2d..00000000000 From a88c2b43637d815eb6e1316d005674f06a640aa3 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 17 Jan 2023 15:19:51 -0500 Subject: [PATCH 66/69] chore: lint & formatting --- ...i-extract-test-timings-from-job-metrics.ts | 60 +- scripts/cci-get-job-metrics.ts | 16 +- scripts/cci-get-test-metrics.ts | 14 +- scripts/cci-types.ts | 2 +- scripts/cci-utils.ts | 262 ++++---- scripts/cci-workflow-results.ts | 76 +-- scripts/cci.api.ts | 226 ++++--- scripts/split-e2e-test-filters.ts | 80 ++- scripts/split-e2e-tests-v2.ts | 597 +++++++++--------- scripts/split-e2e-tests.ts | 50 +- 10 files changed, 685 insertions(+), 698 deletions(-) diff --git a/scripts/cci-extract-test-timings-from-job-metrics.ts b/scripts/cci-extract-test-timings-from-job-metrics.ts index d96c2a14023..b4d721dce77 100644 --- a/scripts/cci-extract-test-timings-from-job-metrics.ts +++ b/scripts/cci-extract-test-timings-from-job-metrics.ts @@ -1,38 +1,38 @@ -import { join } from "path"; -import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings } from "./cci-utils"; +import { join } from 'path'; +import { getOldJobNameWithoutSuffixes, getTestFiles, getTimingsFromJobsData, REPO_ROOT, saveTestTimings } from './cci-utils'; /** * In order to estimate the timing for a "test" file, we have to determine which * job runs that "test" file. - * Job names are not consistent with "test" files, so we have to map from the old + * Job names are not consistent with "test" files, so we have to map from the old * job name to find the job that ran it. */ function main(): void { - let testSuites = getTestFiles(join(REPO_ROOT, 'packages', 'amplify-e2e-tests')); - testSuites.push(...getTestFiles(join(REPO_ROOT, 'packages', 'amplify-migration-tests'))); - const jobTimings = getTimingsFromJobsData(); - const testRuntimes = testSuites.map(t => { - const oldName = getOldJobNameWithoutSuffixes(t); - if(jobTimings.has(oldName)){ - return { - test: t, - medianRuntime: jobTimings.get(oldName) as number - } - } else { - console.log("Could not find timing for:", t); - return { - test: t, - medianRuntime: 10 // default for unknown - } - } - }) - testRuntimes.sort((a,b) => { - return a.medianRuntime - b.medianRuntime; - }); - saveTestTimings({ - lastUpdated: new Date().toISOString(), - totalTestFiles: testRuntimes.length, - timingData: testRuntimes - }); + let testSuites = getTestFiles(join(REPO_ROOT, 'packages', 'amplify-e2e-tests')); + testSuites.push(...getTestFiles(join(REPO_ROOT, 'packages', 'amplify-migration-tests'))); + const jobTimings = getTimingsFromJobsData(); + const testRuntimes = testSuites.map(t => { + const oldName = getOldJobNameWithoutSuffixes(t); + if (jobTimings.has(oldName)) { + return { + test: t, + medianRuntime: jobTimings.get(oldName) as number, + }; + } else { + console.log('Could not find timing for:', t); + return { + test: t, + medianRuntime: 10, // default for unknown + }; + } + }); + testRuntimes.sort((a, b) => { + return a.medianRuntime - b.medianRuntime; + }); + saveTestTimings({ + lastUpdated: new Date().toISOString(), + totalTestFiles: testRuntimes.length, + timingData: testRuntimes, + }); } -main(); \ No newline at end of file +main(); diff --git a/scripts/cci-get-job-metrics.ts b/scripts/cci-get-job-metrics.ts index f7865e875b4..42368e10022 100644 --- a/scripts/cci-get-job-metrics.ts +++ b/scripts/cci-get-job-metrics.ts @@ -1,13 +1,13 @@ -import { getCCIClient, saveJobMetrics } from "./cci-utils"; +import { getCCIClient, saveJobMetrics } from './cci-utils'; const runIt = async () => { - const client = getCCIClient(); - console.log("Fetching job metrics..."); - const data = await client.getAllJobMetrics(); - saveJobMetrics(data); -} + const client = getCCIClient(); + console.log('Fetching job metrics...'); + const data = await client.getAllJobMetrics(); + saveJobMetrics(data); +}; function main(): void { - runIt(); + runIt(); } -main(); \ No newline at end of file +main(); diff --git a/scripts/cci-get-test-metrics.ts b/scripts/cci-get-test-metrics.ts index 59b583d6736..052d13e76f9 100644 --- a/scripts/cci-get-test-metrics.ts +++ b/scripts/cci-get-test-metrics.ts @@ -1,12 +1,12 @@ -import { getCCIClient, saveJobMetrics } from "./cci-utils"; +import { getCCIClient, saveJobMetrics } from './cci-utils'; const runIt = async () => { - const client = getCCIClient(); - const data = await client.getAllTestMetrics(); - saveJobMetrics(data); -} + const client = getCCIClient(); + const data = await client.getAllTestMetrics(); + saveJobMetrics(data); +}; function main(): void { - runIt(); + runIt(); } -main(); \ No newline at end of file +main(); diff --git a/scripts/cci-types.ts b/scripts/cci-types.ts index de74bec62dd..4aaf4d15e38 100644 --- a/scripts/cci-types.ts +++ b/scripts/cci-types.ts @@ -19,4 +19,4 @@ export type CircleCIConfig = { jobs: WorkflowJob[]; }; }; -}; \ No newline at end of file +}; diff --git a/scripts/cci-utils.ts b/scripts/cci-utils.ts index 34a881b33a3..1326a6b35cc 100644 --- a/scripts/cci-utils.ts +++ b/scripts/cci-utils.ts @@ -6,42 +6,40 @@ import { CircleCIConfig } from './cci-types'; import { CircleCIAPIClient, CircleCIClientDefaults } from './cci.api'; export const ClientDefaults: CircleCIClientDefaults = { - defaultBranch: 'dev', - defaultWorkflow: 'build_test_deploy_v3', - vcs: 'github', - projectSlug: 'aws-amplify', - projectName: 'amplify-cli', -} + defaultBranch: 'dev', + defaultWorkflow: 'build_test_deploy_v3', + vcs: 'github', + projectSlug: 'aws-amplify', + projectName: 'amplify-cli', +}; export const getCCIClient = () => { - if(!process.env.CIRCLECI_TOKEN){ - throw new Error("CIRCLECI_TOKEN is not set. Export it to your terminal, then try again.") - } - return new CircleCIAPIClient(process.env.CIRCLECI_TOKEN, ClientDefaults); -} + if (!process.env.CIRCLECI_TOKEN) { + throw new Error('CIRCLECI_TOKEN is not set. Export it to your terminal, then try again.'); + } + return new CircleCIAPIClient(process.env.CIRCLECI_TOKEN, ClientDefaults); +}; // Ensure to update packages/amplify-e2e-tests/src/cleanup-e2e-resources.ts is also updated this gets updated export const AWS_REGIONS_TO_RUN_TESTS = [ - 'us-east-1', - 'us-east-2', - 'us-west-2', - 'eu-west-2', - 'eu-central-1', - 'ap-northeast-1', - 'ap-southeast-1', - 'ap-southeast-2', + 'us-east-1', + 'us-east-2', + 'us-west-2', + 'eu-west-2', + 'eu-central-1', + 'ap-northeast-1', + 'ap-southeast-1', + 'ap-southeast-2', ]; // Some services (eg. amazon lex) are not available in all regions // Tests added to this list will always run in us-west-2 -export const FORCE_US_WEST_2 = [ - 'src/__tests__/interactions.test.ts' -]; +export const FORCE_US_WEST_2 = ['src/__tests__/interactions.test.ts']; // some tests require additional time, the parent account can handle longer tests (up to 90 minutes) export const USE_PARENT_ACCOUNT = [ - 'src/__tests__/import_dynamodb_1.test.ts', - 'src/__tests__/import_s3_1.test.ts', - 'src/__tests__/transformer-migrations/searchable-migration.test.ts', + 'src/__tests__/import_dynamodb_1.test.ts', + 'src/__tests__/import_s3_1.test.ts', + 'src/__tests__/transformer-migrations/searchable-migration.test.ts', ]; export const REPO_ROOT = join(__dirname, '..'); @@ -54,189 +52,197 @@ const WORKFLOW_RESULTS_PATH = join(REPO_ROOT, 'artifacts', 'cci-workflow-results const WORKFLOW_RESULTS_HTML_PATH = join(REPO_ROOT, 'artifacts', 'cci-workflow-results.html'); export function getTestFiles(dir: string, pattern = 'src/**/*.test.ts'): string[] { - return glob.sync(pattern, { cwd: dir }); + return glob.sync(pattern, { cwd: dir }); } /** * CircleCI test data is different from job data; each job may have multiple test files, - * and each test file may contain multiple tests. + * and each test file may contain multiple tests. * CircleCI reports this data at the testfile + testname specificity. - * + * * The data in this file is at the TEST level. */ export function loadTestMetrics(): any { - return JSON.parse(fs.readFileSync(TEST_METRICS_PATH, 'utf-8')); + return JSON.parse(fs.readFileSync(TEST_METRICS_PATH, 'utf-8')); } export function saveTestMetrics(data: any): any { - console.log(`saving test metrics to ${TEST_METRICS_PATH}`); - fs.writeFileSync(TEST_METRICS_PATH, JSON.stringify(data, null, 2)); + console.log(`saving test metrics to ${TEST_METRICS_PATH}`); + fs.writeFileSync(TEST_METRICS_PATH, JSON.stringify(data, null, 2)); } /** * CircleCI job data contains data for each job. - * + * * The data in this file is at the JOB level. */ export function loadJobMetrics(): any { - return JSON.parse(fs.readFileSync(JOB_METRICS_PATH, 'utf-8')); + return JSON.parse(fs.readFileSync(JOB_METRICS_PATH, 'utf-8')); } export function saveJobMetrics(data: any): any { - console.log(`saving job metrics to ${JOB_METRICS_PATH}`); - fs.writeFileSync(JOB_METRICS_PATH, JSON.stringify(data, null, 2)); + console.log(`saving job metrics to ${JOB_METRICS_PATH}`); + fs.writeFileSync(JOB_METRICS_PATH, JSON.stringify(data, null, 2)); } /** * CircleCI job data contains data for each job. - * + * * The data in this file is at the JOB level. */ -export function loadTestTimings(): { timingData: { test: string, medianRuntime: number }[] }{ - return JSON.parse(fs.readFileSync(TEST_TIMINGS_PATH, 'utf-8')); +export function loadTestTimings(): { timingData: { test: string; medianRuntime: number }[] } { + return JSON.parse(fs.readFileSync(TEST_TIMINGS_PATH, 'utf-8')); } export function saveTestTimings(data: any): any { - console.log(`saving timing data to ${TEST_TIMINGS_PATH}`); - fs.writeFileSync(TEST_TIMINGS_PATH, JSON.stringify(data, null, 2)); + console.log(`saving timing data to ${TEST_TIMINGS_PATH}`); + fs.writeFileSync(TEST_TIMINGS_PATH, JSON.stringify(data, null, 2)); } /** * Workflow results provide a summary of tests failures after a workflow has completed. - * @param data + * @param data */ export function saveWorkflowResults(data: any): any { - fs.writeFileSync(WORKFLOW_RESULTS_PATH, JSON.stringify(data, null, 2)); + fs.writeFileSync(WORKFLOW_RESULTS_PATH, JSON.stringify(data, null, 2)); } export function saveWorkflowResultsHTML(data: any): any { - fs.writeFileSync(WORKFLOW_RESULTS_HTML_PATH, data); + fs.writeFileSync(WORKFLOW_RESULTS_HTML_PATH, data); } /** * Loads the configuration file that is used as a base for generated the final configuration. */ export function loadConfig(): CircleCIConfig { - return yaml.load(fs.readFileSync(CIRCLECI_BASE_CONFIG_PATH, 'utf8')); + return yaml.load(fs.readFileSync(CIRCLECI_BASE_CONFIG_PATH, 'utf8')); } /** * Saves the generated configuration file that will be used by the continuation orb after the setup has completed. - * @param config + * @param config */ export function saveConfig(config: CircleCIConfig): void { - const output = ['# auto generated file. Edit config.base.yaml if you want to change', yaml.dump(config, { noRefs: true })]; - fs.writeFileSync(CIRCLECI_GENERATED_CONFIG_PATH, output.join('\n')); + const output = ['# auto generated file. Edit config.base.yaml if you want to change', yaml.dump(config, { noRefs: true })]; + fs.writeFileSync(CIRCLECI_GENERATED_CONFIG_PATH, output.join('\n')); } - /** * Before split-e2e-tests-v2, this is how we generated job names when each file was assigned to a single job. - * + * * @param baseJobName The root level folder (amplify-e2e-tests, amplify-migration-tests, etc...) * @param testSuitePath The test file name (some-e2e-test.e2e.test.ts, some-test.test.ts) - * @returns + * @returns */ export function getOldJobName(baseJobName: string, testSuitePath: string): string { - const startIndex = testSuitePath.lastIndexOf('/') + 1; - const endIndex = testSuitePath.lastIndexOf('.test'); - let name = testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); - - // additional suffixes are added depending on what the 'base job' is called - // for most tests, they belong to the 'amplify-e2e-tests-pkg' job - if (baseJobName.includes('pkg')) { - name = name + '_pkg'; - } - // some jobs belong to a migration test suite, and so the 'version' is appended to the job name - // for example: - // tests included in "amplify_migration_tests_v10" will be assigned to jobs with names like "migration-test-name_v10" - if (baseJobName.includes('amplify_migration_tests')) { - const startIndex = baseJobName.lastIndexOf('_'); - name = name + baseJobName.substring(startIndex); - } - return name; + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + let name = testSuitePath + .substring(startIndex, endIndex) + .split('.e2e') + .join('') + .split('.') + .join('-'); + + // additional suffixes are added depending on what the 'base job' is called + // for most tests, they belong to the 'amplify-e2e-tests-pkg' job + if (baseJobName.includes('pkg')) { + name = name + '_pkg'; + } + // some jobs belong to a migration test suite, and so the 'version' is appended to the job name + // for example: + // tests included in "amplify_migration_tests_v10" will be assigned to jobs with names like "migration-test-name_v10" + if (baseJobName.includes('amplify_migration_tests')) { + const startIndex = baseJobName.lastIndexOf('_'); + name = name + baseJobName.substring(startIndex); + } + return name; } /** * Same as getOldJobName, but excludes the suffixes like "_pkg" or "_v6", etc - * @param testSuitePath - * @returns + * @param testSuitePath + * @returns */ -export const getOldJobNameWithoutSuffixes = ( - testSuitePath: string): string => { - const startIndex = testSuitePath.lastIndexOf('/') + 1; - const endIndex = testSuitePath.lastIndexOf('.test'); - return testSuitePath.substring(startIndex, endIndex).split('.e2e').join('').split('.').join('-'); -} +export const getOldJobNameWithoutSuffixes = (testSuitePath: string): string => { + const startIndex = testSuitePath.lastIndexOf('/') + 1; + const endIndex = testSuitePath.lastIndexOf('.test'); + return testSuitePath + .substring(startIndex, endIndex) + .split('.e2e') + .join('') + .split('.') + .join('-'); +}; /** * For jobs before split-e2e-tests-v2, this function allows you to * work backwards from the job name to the test which ran inside of that job. - * + * * It essentially trims the suffixes from the job name, so you can focus on the test name. - * + * * A job would typically have a name like "my-test_pkg-l_medium", and the test name is just "my-test". * Another example is "my-test_pkg-w_medium", which has a test name of just "my-test". - * @param jobName - * @returns + * @param jobName + * @returns */ -function getTestNameFromOldJobName(jobName: string){ - // first, remove any _pkg- from the name - let name = jobName.split('_pkg-')[0]; - - // remove migration suffixes - name = name.split('_v10-')[0]; - name = name.split('_v5-')[0]; - name = name.split('_v6-')[0]; - return name; +function getTestNameFromOldJobName(jobName: string) { + // first, remove any _pkg- from the name + let name = jobName.split('_pkg-')[0]; + + // remove migration suffixes + name = name.split('_v10-')[0]; + name = name.split('_v5-')[0]; + name = name.split('_v6-')[0]; + return name; } /** * This method uses old job data (before split-e2e-tests-v2) and the timings for those jobs * to determine how long a test file takes to run. - * - * @returns + * + * @returns */ export function getTimingsFromJobsData() { - const jobData = loadJobMetrics(); - const jobTimings: Map = new Map(); - for(let job of jobData.items){ - const testName = getTestNameFromOldJobName(job.name); - const duration = Math.floor(job.metrics.duration_metrics.median / 60); - if(jobTimings.has(testName)){ - jobTimings.set(testName, Math.max(jobTimings.get(testName)!, duration)) - } else { - jobTimings.set(testName, duration); - } + const jobData = loadJobMetrics(); + const jobTimings: Map = new Map(); + for (let job of jobData.items) { + const testName = getTestNameFromOldJobName(job.name); + const duration = Math.floor(job.metrics.duration_metrics.median / 60); + if (jobTimings.has(testName)) { + jobTimings.set(testName, Math.max(jobTimings.get(testName)!, duration)); + } else { + jobTimings.set(testName, duration); } - return jobTimings; + } + return jobTimings; } /** * This method can be used to get the 'slowest' tests from all tests. * Note: 'tests' do not mean 'test files' in this case. A 'test file' may contain multiple tests. - * Anywhere else, we treat a 'test file' as a single test. + * Anywhere else, we treat a 'test file' as a single test. * This is more specific, and looks at the sub-tests inside of each file. - * @param testSuites - * @returns + * @param testSuites + * @returns */ export const getSlowestTestsRunTimes = (testSuites: string[]) => { - const testData = loadTestMetrics(); - // default sorted by slowest -> fastest - const slowestTests: any[] = testData.slowest_tests.map((t:any) => { - return { - file: t.file, - duration: Math.floor(t.p95_duration / 60) - } - }) - - return testSuites.map(t => { - let slowTest = slowestTests.find(slowTest => slowTest.file === t); - if(slowTest){ - return { - test: t, - mins: slowTest.duration - } - } else { - return { - test: t, - mins: 10 // all "not slow" tests run in about 10 mins or less - } - } - }) -} \ No newline at end of file + const testData = loadTestMetrics(); + // default sorted by slowest -> fastest + const slowestTests: any[] = testData.slowest_tests.map((t: any) => { + return { + file: t.file, + duration: Math.floor(t.p95_duration / 60), + }; + }); + + return testSuites.map(t => { + let slowTest = slowestTests.find(slowTest => slowTest.file === t); + if (slowTest) { + return { + test: t, + mins: slowTest.duration, + }; + } else { + return { + test: t, + mins: 10, // all "not slow" tests run in about 10 mins or less + }; + } + }); +}; diff --git a/scripts/cci-workflow-results.ts b/scripts/cci-workflow-results.ts index e7b7fa644b8..6206d592967 100644 --- a/scripts/cci-workflow-results.ts +++ b/scripts/cci-workflow-results.ts @@ -1,53 +1,53 @@ -import { getCCIClient, saveWorkflowResults, saveWorkflowResultsHTML } from "./cci-utils"; +import { getCCIClient, saveWorkflowResults, saveWorkflowResultsHTML } from './cci-utils'; /** * This function runs after a CircleCI workflow has completed (build_test_deploy) - * and aggretates the test results from the workflow into a single html/json file + * and aggretates the test results from the workflow into a single html/json file * that is easier to read. It eliminates the need to have to scan each individual - * failed job. + * failed job. * Links to the job are provided, so you can just view the html file and * open failed jobs from there. */ const getWorkflowDataAndSummarizeResults = async () => { - const client = getCCIClient(); - const data = await client.getWorkflowJobs(); - const failed = data.items.filter((i: any) => i.status === 'failed'); - const summary = []; - for(let f of failed){ - try { - const jobData = await client.getJobDetails(f.job_number); - // const artifacts = await getJobArtifacts(f.job_number); - const tests = await client.getJobTests(f.job_number); - summary.push({ - jobName: jobData.name, - jobUrl: jobData.web_url, - durationMins: Math.floor(jobData.duration / (60 * 1000)), - // artifacts: artifacts.items.map((i: any) => i.url), - failedTests: tests.items.filter((i: any) => i.result === 'failure') - }); - } catch(e){ - console.log('Error fetching data for job:', f.name, e); - } + const client = getCCIClient(); + const data = await client.getWorkflowJobs(); + const failed = data.items.filter((i: any) => i.status === 'failed'); + const summary = []; + for (let f of failed) { + try { + const jobData = await client.getJobDetails(f.job_number); + // const artifacts = await getJobArtifacts(f.job_number); + const tests = await client.getJobTests(f.job_number); + summary.push({ + jobName: jobData.name, + jobUrl: jobData.web_url, + durationMins: Math.floor(jobData.duration / (60 * 1000)), + // artifacts: artifacts.items.map((i: any) => i.url), + failedTests: tests.items.filter((i: any) => i.result === 'failure'), + }); + } catch (e) { + console.log('Error fetching data for job:', f.name, e); } - saveWorkflowResults(summary); - saveWorkflowResultsHTML(toHTML(summary)); -} + } + saveWorkflowResults(summary); + saveWorkflowResultsHTML(toHTML(summary)); +}; const toHTML = (summary: any) => { - const tableStart = ` + const tableStart = ` `; - const header = ` + const header = ``; - let body = ''; - for(let r of summary){ - let jobLink = `${r.jobName} (${r.durationMins}mins)`; - for(let f of r.failedTests){ - let row = ` + let body = ''; + for (let r of summary) { + let jobLink = `${r.jobName} (${r.durationMins}mins)`; + for (let f of r.failedTests) { + let row = ` `; - body = body + row; - } + body = body + row; } - return tableStart + header + body + '' + '
Job Failed Test Name Failed Test File

${jobLink}

@@ -56,13 +56,13 @@ const toHTML = (summary: any) => {
${f.name} ${f.message}
'; -} + } + return tableStart + header + body + '' + ''; +}; function main(): void { - getWorkflowDataAndSummarizeResults(); + getWorkflowDataAndSummarizeResults(); } -main(); \ No newline at end of file +main(); diff --git a/scripts/cci.api.ts b/scripts/cci.api.ts index da533548378..e3734b27642 100644 --- a/scripts/cci.api.ts +++ b/scripts/cci.api.ts @@ -1,123 +1,117 @@ import axios from 'axios'; -type ReportingWindow = "last-7-days" | "last-90-days" | "last-24-hours" | "last-30-days" | "last-60-days"; +type ReportingWindow = 'last-7-days' | 'last-90-days' | 'last-24-hours' | 'last-30-days' | 'last-60-days'; export type CircleCIClientDefaults = { - defaultBranch: string, - defaultWorkflow: string, - vcs: string, - projectSlug: string, - projectName: string, -} + defaultBranch: string; + defaultWorkflow: string; + vcs: string; + projectSlug: string; + projectName: string; +}; export class CircleCIAPIClient { + private headers; + private options: CircleCIClientDefaults; + private slug: string; + constructor(token: string, options: CircleCIClientDefaults) { + this.headers = { + 'Circle-Token': token, + }; + this.options = options; + this.slug = `${options.vcs}/${options.projectSlug}/${options.projectName}`; + } - private headers; - private options: CircleCIClientDefaults; - private slug: string; - constructor( - token: string, - options: CircleCIClientDefaults - ) { - this.headers = { - "Circle-Token": token - } - this.options = options; - this.slug = `${options.vcs}/${options.projectSlug}/${options.projectName}`; - } - - /** - * Returns a sequence of jobs for a workflow. - * - * https://circleci.com/docs/api/v2/index.html#operation/listWorkflowJobs - * @returns - */ - getWorkflowJobs = async (workflowId: string = this.options.defaultWorkflow) => { - const result = await axios.get(`https://circleci.com/api/v2/workflow/${workflowId}/job`, { - headers: this.headers - }); - return result.data; - } - /** - * Returns a job's details. - * - * https://circleci.com/docs/api/v2/index.html#operation/getJobDetails - * @param jobId - * @returns - */ - getJobDetails = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/job/${jobId}`, { - headers: this.headers - }); - return result.data; - } - /** - * Returns a single job's artifacts. - * - * https://circleci.com/docs/api/v2/index.html#operation/getJobArtifacts - * @param jobId - * @returns - */ - getJobArtifacts = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/artifacts`, { - headers: this.headers - }); - return result.data; - } - /** - * Get test metadata for a single job - * - * https://circleci.com/docs/api/v2/index.html#operation/getTests - * @param jobId - * @returns - */ - getJobTests = async (jobId: string) => { - const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/tests`, { - headers: this.headers - }); - return result.data; - } - /** - * Get summary metrics for a project workflow's jobs. - * - * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowJobMetrics - * - * @param workflowName - * @param branch - * @param reportingWindow - * @returns - */ - getAllJobMetrics = async ( - workflowName: string = this.options.defaultWorkflow, - branch: string = this.options.defaultBranch, - reportingWindow: ReportingWindow = 'last-30-days') => { - const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/jobs`, { - headers: this.headers, - params: { - "branch": branch, - "reporting-window": reportingWindow - } - }); - return result.data; - } + /** + * Returns a sequence of jobs for a workflow. + * + * https://circleci.com/docs/api/v2/index.html#operation/listWorkflowJobs + * @returns + */ + getWorkflowJobs = async (workflowId: string = this.options.defaultWorkflow) => { + const result = await axios.get(`https://circleci.com/api/v2/workflow/${workflowId}/job`, { + headers: this.headers, + }); + return result.data; + }; + /** + * Returns a job's details. + * + * https://circleci.com/docs/api/v2/index.html#operation/getJobDetails + * @param jobId + * @returns + */ + getJobDetails = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/job/${jobId}`, { + headers: this.headers, + }); + return result.data; + }; + /** + * Returns a single job's artifacts. + * + * https://circleci.com/docs/api/v2/index.html#operation/getJobArtifacts + * @param jobId + * @returns + */ + getJobArtifacts = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/artifacts`, { + headers: this.headers, + }); + return result.data; + }; + /** + * Get test metadata for a single job + * + * https://circleci.com/docs/api/v2/index.html#operation/getTests + * @param jobId + * @returns + */ + getJobTests = async (jobId: string) => { + const result = await axios.get(`https://circleci.com/api/v2/project/${this.slug}/${jobId}/tests`, { + headers: this.headers, + }); + return result.data; + }; + /** + * Get summary metrics for a project workflow's jobs. + * + * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowJobMetrics + * + * @param workflowName + * @param branch + * @param reportingWindow + * @returns + */ + getAllJobMetrics = async ( + workflowName: string = this.options.defaultWorkflow, + branch: string = this.options.defaultBranch, + reportingWindow: ReportingWindow = 'last-30-days', + ) => { + const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/jobs`, { + headers: this.headers, + params: { + branch: branch, + 'reporting-window': reportingWindow, + }, + }); + return result.data; + }; - /** - * Get test metrics for a project's workflows. - * - * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowTestMetrics - * @param workflowName - * @param branch - * @param reportingWindow - * @returns - */ - getAllTestMetrics = async( - workflowName: string = this.options.defaultWorkflow, - branch: string = this.options.defaultBranch) => { - const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/test-metrics`, { - headers: this.headers, - params: { - "branch": branch - } - }); - return result.data; - } + /** + * Get test metrics for a project's workflows. + * + * https://circleci.com/docs/api/v2/index.html#operation/getProjectWorkflowTestMetrics + * @param workflowName + * @param branch + * @param reportingWindow + * @returns + */ + getAllTestMetrics = async (workflowName: string = this.options.defaultWorkflow, branch: string = this.options.defaultBranch) => { + const result = await axios.get(`https://circleci.com/api/v2/insights/${this.slug}/workflows/${workflowName}/test-metrics`, { + headers: this.headers, + params: { + branch: branch, + }, + }); + return result.data; + }; } - diff --git a/scripts/split-e2e-test-filters.ts b/scripts/split-e2e-test-filters.ts index 53c04d118a0..a249373362c 100644 --- a/scripts/split-e2e-test-filters.ts +++ b/scripts/split-e2e-test-filters.ts @@ -1,46 +1,42 @@ -export const migrationFromV4_28_2Tests = [ - "src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts", -]; -export const migrationFromV4_52_0Tests = [ - "src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts", -] +export const migrationFromV4_28_2Tests = ['src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts']; +export const migrationFromV4_52_0Tests = ['src/__tests__/migration_tests/lambda-layer-migration/layer-migration.test.ts']; export const migrationFromV5Tests = [ - "src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts", - "src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts", - "src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts", - "src/__tests__/update_tests/api_migration_update.test.ts", - "src/__tests__/update_tests/auth_migration_update.test.ts", - "src/__tests__/update_tests/function_migration_update.test.ts", - "src/__tests__/update_tests/storage_migration_update.test.ts", - ] + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts', + 'src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts', + 'src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts', + 'src/__tests__/update_tests/api_migration_update.test.ts', + 'src/__tests__/update_tests/auth_migration_update.test.ts', + 'src/__tests__/update_tests/function_migration_update.test.ts', + 'src/__tests__/update_tests/storage_migration_update.test.ts', +]; export const migrationFromV6Tests = [ - "src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts", - "src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts", - "src/__tests__/migration_tests/overrides/api-migration-a.test.ts", - "src/__tests__/migration_tests/overrides/api-migration-b.test.ts", - "src/__tests__/migration_tests/overrides/api-migration-c.test.ts", - "src/__tests__/migration_tests/overrides/api-migration-d.test.ts", - "src/__tests__/migration_tests/overrides/apigw-ext-migration.test.ts", - "src/__tests__/migration_tests/overrides/auth-migration-a.test.ts", - "src/__tests__/migration_tests/overrides/auth-migration-b.test.ts", - "src/__tests__/migration_tests/overrides/auth-migration-c.test.ts", - "src/__tests__/migration_tests/overrides/auth-migration-d.test.ts", - "src/__tests__/migration_tests/overrides/auth-migration-e.test.ts", - "src/__tests__/migration_tests/overrides/init-migration.test.ts", - "src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts", - "src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts", - "src/__tests__/update_tests/api_migration_update.test.ts", - "src/__tests__/update_tests/auth_migration_update.test.ts", - "src/__tests__/update_tests/function_migration_update.test.ts", - "src/__tests__/update_tests/storage_migration_update.test.ts", - ] + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-2.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-3.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration-4.test.ts', + 'src/__tests__/migration_tests/notifications-migration/notifications-migration.test.ts', + 'src/__tests__/migration_tests/overrides/api-migration-a.test.ts', + 'src/__tests__/migration_tests/overrides/api-migration-b.test.ts', + 'src/__tests__/migration_tests/overrides/api-migration-c.test.ts', + 'src/__tests__/migration_tests/overrides/api-migration-d.test.ts', + 'src/__tests__/migration_tests/overrides/apigw-ext-migration.test.ts', + 'src/__tests__/migration_tests/overrides/auth-migration-a.test.ts', + 'src/__tests__/migration_tests/overrides/auth-migration-b.test.ts', + 'src/__tests__/migration_tests/overrides/auth-migration-c.test.ts', + 'src/__tests__/migration_tests/overrides/auth-migration-d.test.ts', + 'src/__tests__/migration_tests/overrides/auth-migration-e.test.ts', + 'src/__tests__/migration_tests/overrides/init-migration.test.ts', + 'src/__tests__/migration_tests/transformer_migration/api.key.migration-2.test.ts', + 'src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts', + 'src/__tests__/update_tests/api_migration_update.test.ts', + 'src/__tests__/update_tests/auth_migration_update.test.ts', + 'src/__tests__/update_tests/function_migration_update.test.ts', + 'src/__tests__/update_tests/storage_migration_update.test.ts', +]; export const migrationFromV10Tests = [ - "src/__tests__/migration_tests_v10/scaffold.test.ts", - "src/__tests__/migration_tests_v10/dotnet_runtime_update_migration.test.ts", -] + 'src/__tests__/migration_tests_v10/scaffold.test.ts', + 'src/__tests__/migration_tests_v10/dotnet_runtime_update_migration.test.ts', +]; diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 20d82efaf12..015d283a5b5 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -1,15 +1,64 @@ -import { CircleCIConfig, WorkflowJob } from "./cci-types"; +import { CircleCIConfig, WorkflowJob } from './cci-types'; import { FORCE_US_WEST_2, getOldJobNameWithoutSuffixes, loadTestTimings, USE_PARENT_ACCOUNT } from './cci-utils'; -import { - AWS_REGIONS_TO_RUN_TESTS as regions, - getTestFiles -} from "./cci-utils"; +import { AWS_REGIONS_TO_RUN_TESTS as regions, getTestFiles } from './cci-utils'; const RUN_SOLO = [ - 'src/__tests__/auth_2c.test.ts', - 'src/__tests__/auth_2e.test.ts', - 'src/__tests__/containers-api-1.test.ts', - 'src/__tests__/containers-api-2.test.ts', + 'src/__tests__/auth_2c.test.ts', + 'src/__tests__/auth_2e.test.ts', + 'src/__tests__/containers-api-1.test.ts', + 'src/__tests__/containers-api-2.test.ts', + 'src/__tests__/env-3.test.ts', + 'src/__tests__/geo-add-e.test.ts', + 'src/__tests__/geo-add-f.test.ts', + 'src/__tests__/geo-remove-1.test.ts', + 'src/__tests__/geo-remove-2.test.ts', + 'src/__tests__/geo-remove-3.test.ts', + 'src/__tests__/geo-update-1.test.ts', + 'src/__tests__/geo-update-2.test.ts', + 'src/__tests__/import_auth_1a.test.ts', + 'src/__tests__/import_auth_1b.test.ts', + 'src/__tests__/import_auth_2a.test.ts', + 'src/__tests__/import_auth_2b.test.ts', + 'src/__tests__/import_auth_3.test.ts', + 'src/__tests__/import_dynamodb_1.test.ts', + 'src/__tests__/import_dynamodb_2a.test.ts', + 'src/__tests__/import_dynamodb_2b.test.ts', + 'src/__tests__/import_dynamodb_2c.test.ts', + 'src/__tests__/import_s3_1.test.ts', + 'src/__tests__/import_s3_2a.test.ts', + 'src/__tests__/import_s3_2b.test.ts', + 'src/__tests__/import_s3_2c.test.ts', + 'src/__tests__/import_s3_3.test.ts', + 'src/__tests__/notifications-in-app-messaging.test.ts', + 'src/__tests__/schema-auth-11-a.test.ts', + 'src/__tests__/schema-auth-15.test.ts', + 'src/__tests__/schema-connection-1.test.ts', +]; +const TEST_EXCLUSIONS: { l: string[]; w: string[] } = { + l: [], + w: [ + 'src/__tests__/amplify-app.test.ts', + 'src/__tests__/analytics-2.test.ts', + 'src/__tests__/api_2a.test.ts', + 'src/__tests__/api_2b.test.ts', + 'src/__tests__/api_3.test.ts', + 'src/__tests__/api_5.test.ts', + 'src/__tests__/custom_policies_container.test.ts', + 'src/__tests__/datastore-modelgen.test.ts', + 'src/__tests__/delete.test.ts', + 'src/__tests__/diagnose.test.ts', + 'src/__tests__/env-2.test.ts', 'src/__tests__/env-3.test.ts', + 'src/__tests__/export.test.ts', + 'src/__tests__/function_1.test.ts', + 'src/__tests__/function_2a.test.ts', + 'src/__tests__/function_2b.test.ts', + 'src/__tests__/function_3a.test.ts', + 'src/__tests__/function_3b.test.ts', + 'src/__tests__/function_4.test.ts', + 'src/__tests__/function_6.test.ts', + 'src/__tests__/function_7.test.ts', + 'src/__tests__/function_8.test.ts', + 'src/__tests__/geo-add-c.test.ts', 'src/__tests__/geo-add-e.test.ts', 'src/__tests__/geo-add-f.test.ts', 'src/__tests__/geo-remove-1.test.ts', @@ -17,338 +66,280 @@ const RUN_SOLO = [ 'src/__tests__/geo-remove-3.test.ts', 'src/__tests__/geo-update-1.test.ts', 'src/__tests__/geo-update-2.test.ts', + 'src/__tests__/git-clone-attach.test.ts', + 'src/__tests__/hooks-a.test.ts', 'src/__tests__/import_auth_1a.test.ts', 'src/__tests__/import_auth_1b.test.ts', 'src/__tests__/import_auth_2a.test.ts', 'src/__tests__/import_auth_2b.test.ts', 'src/__tests__/import_auth_3.test.ts', - 'src/__tests__/import_dynamodb_1.test.ts', 'src/__tests__/import_dynamodb_2a.test.ts', - 'src/__tests__/import_dynamodb_2b.test.ts', 'src/__tests__/import_dynamodb_2c.test.ts', 'src/__tests__/import_s3_1.test.ts', 'src/__tests__/import_s3_2a.test.ts', - 'src/__tests__/import_s3_2b.test.ts', 'src/__tests__/import_s3_2c.test.ts', - 'src/__tests__/import_s3_3.test.ts', - 'src/__tests__/notifications-in-app-messaging.test.ts', + 'src/__tests__/layer-2.test.ts', + 'src/__tests__/mock-api.test.ts', + 'src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts', + 'src/__tests__/notifications-analytics-compatibility-sms-1.test.ts', + 'src/__tests__/notifications-analytics-compatibility-sms-2.test.ts', + 'src/__tests__/notifications-in-app-messaging-env-1.test.ts', + 'src/__tests__/notifications-in-app-messaging-env-2.test.ts', + 'src/__tests__/notifications-lifecycle.test.ts', + 'src/__tests__/notifications-sms-pull.test.ts', + 'src/__tests__/notifications-sms.test.ts', + 'src/__tests__/pull.test.ts', 'src/__tests__/schema-auth-11-a.test.ts', 'src/__tests__/schema-auth-15.test.ts', - 'src/__tests__/schema-connection-1.test.ts' -] -const TEST_EXCLUSIONS: { l: string[], w: string[] } = { - l: [], - w: [ - 'src/__tests__/amplify-app.test.ts', - 'src/__tests__/analytics-2.test.ts', - 'src/__tests__/api_2a.test.ts', - 'src/__tests__/api_2b.test.ts', - 'src/__tests__/api_3.test.ts', - 'src/__tests__/api_5.test.ts', - 'src/__tests__/custom_policies_container.test.ts', - 'src/__tests__/datastore-modelgen.test.ts', - 'src/__tests__/delete.test.ts', - 'src/__tests__/diagnose.test.ts', - 'src/__tests__/env-2.test.ts', - 'src/__tests__/env-3.test.ts', - 'src/__tests__/export.test.ts', - 'src/__tests__/function_1.test.ts', - 'src/__tests__/function_2a.test.ts', - 'src/__tests__/function_2b.test.ts', - 'src/__tests__/function_3a.test.ts', - 'src/__tests__/function_3b.test.ts', - 'src/__tests__/function_4.test.ts', - 'src/__tests__/function_6.test.ts', - 'src/__tests__/function_7.test.ts', - 'src/__tests__/function_8.test.ts', - 'src/__tests__/geo-add-c.test.ts', - 'src/__tests__/geo-add-e.test.ts', - 'src/__tests__/geo-add-f.test.ts', - 'src/__tests__/geo-remove-1.test.ts', - 'src/__tests__/geo-remove-2.test.ts', - 'src/__tests__/geo-remove-3.test.ts', - 'src/__tests__/geo-update-1.test.ts', - 'src/__tests__/geo-update-2.test.ts', - 'src/__tests__/git-clone-attach.test.ts', - 'src/__tests__/hooks-a.test.ts', - 'src/__tests__/import_auth_1a.test.ts', - 'src/__tests__/import_auth_1b.test.ts', - 'src/__tests__/import_auth_2a.test.ts', - 'src/__tests__/import_auth_2b.test.ts', - 'src/__tests__/import_auth_3.test.ts', - 'src/__tests__/import_dynamodb_2a.test.ts', - 'src/__tests__/import_dynamodb_2c.test.ts', - 'src/__tests__/import_s3_1.test.ts', - 'src/__tests__/import_s3_2a.test.ts', - 'src/__tests__/import_s3_2c.test.ts', - 'src/__tests__/layer-2.test.ts', - 'src/__tests__/mock-api.test.ts', - 'src/__tests__/notifications-analytics-compatibility-in-app-1.test.ts', - 'src/__tests__/notifications-analytics-compatibility-sms-1.test.ts', - 'src/__tests__/notifications-analytics-compatibility-sms-2.test.ts', - 'src/__tests__/notifications-in-app-messaging-env-1.test.ts', - 'src/__tests__/notifications-in-app-messaging-env-2.test.ts', - 'src/__tests__/notifications-lifecycle.test.ts', - 'src/__tests__/notifications-sms-pull.test.ts', - 'src/__tests__/notifications-sms.test.ts', - 'src/__tests__/pull.test.ts', - 'src/__tests__/schema-auth-11-a.test.ts', - 'src/__tests__/schema-auth-15.test.ts', - 'src/__tests__/schema-auth-9-a.test.ts', - 'src/__tests__/schema-auth-9-b.test.ts', - 'src/__tests__/schema-auth-9-c.test.ts', - 'src/__tests__/schema-iterative-rollback-1.test.ts', - 'src/__tests__/schema-iterative-rollback-2.test.ts', - 'src/__tests__/storage-2.test.ts', - 'src/__tests__/storage-5.test.ts', - 'src/__tests__/studio-modelgen.test.ts', - 'src/__tests__/transformer-migrations/http-migration.test.ts', - 'src/__tests__/transformer-migrations/model-migration.test.ts', - 'src/__tests__/transformer-migrations/searchable-migration.test.ts', - 'src/__tests__/uibuilder.test.ts' - ], -} + 'src/__tests__/schema-auth-9-a.test.ts', + 'src/__tests__/schema-auth-9-b.test.ts', + 'src/__tests__/schema-auth-9-c.test.ts', + 'src/__tests__/schema-iterative-rollback-1.test.ts', + 'src/__tests__/schema-iterative-rollback-2.test.ts', + 'src/__tests__/storage-2.test.ts', + 'src/__tests__/storage-5.test.ts', + 'src/__tests__/studio-modelgen.test.ts', + 'src/__tests__/transformer-migrations/http-migration.test.ts', + 'src/__tests__/transformer-migrations/model-migration.test.ts', + 'src/__tests__/transformer-migrations/searchable-migration.test.ts', + 'src/__tests__/uibuilder.test.ts', + ], +}; const MAX_WORKERS = 3; type OS_TYPE = 'w' | 'l'; type CandidateJob = { - region: string, - os: OS_TYPE, - executor: string, - tests: string[], - useParentAccount: boolean, - // intentially leaving this here - accounts are randomly assigned to jobs - // by a via local_publish_helpers.sh script - // account: string, -} - -const createRandomJob = (os: OS_TYPE) : CandidateJob => { - const region = regions[Math.floor(Math.random() * regions.length)]; - return { - region, - os, - executor: os === 'l' ? 'l_large' : 'w_medium', - tests: [], - useParentAccount: false, - } -} - + region: string; + os: OS_TYPE; + executor: string; + tests: string[]; + useParentAccount: boolean; + // intentially leaving this here - accounts are randomly assigned to jobs + // by a via local_publish_helpers.sh script + // account: string, +}; +const createRandomJob = (os: OS_TYPE): CandidateJob => { + const region = regions[Math.floor(Math.random() * regions.length)]; + return { + region, + os, + executor: os === 'l' ? 'l_large' : 'w_medium', + tests: [], + useParentAccount: false, + }; +}; export const splitTestsV2 = function splitTests( - config: Readonly, - counts: { w: number, l: number}, - baseJobName: string, - workflowName: string, - jobRootDir: string, - isMigration: boolean, - pickTests: ((testSuites: string[]) => string[]) | undefined, - ): CircleCIConfig { - + config: Readonly, + counts: { w: number; l: number }, + baseJobName: string, + workflowName: string, + jobRootDir: string, + isMigration: boolean, + pickTests: ((testSuites: string[]) => string[]) | undefined, +): CircleCIConfig { + const output: CircleCIConfig = { ...config }; + const baseJobs = { ...config.jobs }; + const baseJob = baseJobs[baseJobName]; - const output: CircleCIConfig = { ...config }; - const baseJobs = { ...config.jobs }; - const baseJob = baseJobs[baseJobName]; - - let testSuites = getTestFiles(jobRootDir); - if(pickTests && typeof pickTests === 'function'){ - testSuites = pickTests(testSuites); - } - if(testSuites.length === 0){ - return output; + let testSuites = getTestFiles(jobRootDir); + if (pickTests && typeof pickTests === 'function') { + testSuites = pickTests(testSuites); + } + if (testSuites.length === 0) { + return output; + } + const testFileRunTimes = loadTestTimings().timingData; + + testSuites.sort((a, b) => { + const runtimeA = testFileRunTimes.find(t => t.test === a)?.medianRuntime ?? 30; + const runtimeB = testFileRunTimes.find(t => t.test === b)?.medianRuntime ?? 30; + return runtimeA - runtimeB; + }); + const generateJobsForOS = (os: OS_TYPE) => { + // migration tests are not supported for windows + if (isMigration && os === 'w') { + return []; } - const testFileRunTimes = loadTestTimings().timingData; + const soloJobs = []; + const osJobs = [createRandomJob(os)]; + for (let test of testSuites) { + const currentJob = osJobs[osJobs.length - 1]; - testSuites.sort((a, b) => { - const runtimeA = testFileRunTimes.find((t) => t.test === a)?.medianRuntime ?? 30; - const runtimeB = testFileRunTimes.find((t) => t.test === b)?.medianRuntime ?? 30; - return runtimeA - runtimeB; - }); - const generateJobsForOS = (os: OS_TYPE) => { - // migration tests are not supported for windows - if(isMigration && os === 'w'){ - return []; - } - const soloJobs = []; - const osJobs = [createRandomJob(os)]; - for(let test of testSuites){ - const currentJob = osJobs[osJobs.length - 1]; + // if the current test is excluded from this OS, skip it + if (TEST_EXCLUSIONS[os].find(excluded => test === excluded)) { + continue; + } + const US_WEST_2 = FORCE_US_WEST_2.find(t => test.startsWith(t)); + const USE_PARENT = USE_PARENT_ACCOUNT.some(usesParent => test.startsWith(usesParent)); - // if the current test is excluded from this OS, skip it - if(TEST_EXCLUSIONS[os].find(excluded => test === excluded)) { - continue; - } - const US_WEST_2 = FORCE_US_WEST_2.find(t => test.startsWith(t)); - const USE_PARENT = USE_PARENT_ACCOUNT.some((usesParent) => test.startsWith(usesParent)); + if (RUN_SOLO.find(solo => test === solo)) { + const newSoloJob = createRandomJob(os); + newSoloJob.tests.push(test); + if (US_WEST_2) { + newSoloJob.region = 'us-west-2'; + } + if (USE_PARENT) { + newSoloJob.useParentAccount = true; + } + soloJobs.push(newSoloJob); + continue; + } - if(RUN_SOLO.find(solo => test === solo)){ - const newSoloJob = createRandomJob(os); - newSoloJob.tests.push(test); - if(US_WEST_2){ - newSoloJob.region = 'us-west-2'; - } - if(USE_PARENT){ - newSoloJob.useParentAccount = true; - } - soloJobs.push(newSoloJob); - continue; - } + // add the test + currentJob.tests.push(test); + if (US_WEST_2) { + currentJob.region = 'us-west-2'; + } + if (USE_PARENT) { + currentJob.useParentAccount = true; + } - // add the test - currentJob.tests.push(test); - if(US_WEST_2){ - currentJob.region = 'us-west-2'; - } - if(USE_PARENT){ - currentJob.useParentAccount = true; - } - - // create a new job once the current job is full; - if(currentJob.tests.length >= MAX_WORKERS){ - osJobs.push(createRandomJob(os)); - } - } - return [...osJobs, ...soloJobs]; + // create a new job once the current job is full; + if (currentJob.tests.length >= MAX_WORKERS) { + osJobs.push(createRandomJob(os)); + } } - const linuxJobs = generateJobsForOS('l'); - const windowsJobs = generateJobsForOS('w'); - - // create the new job configurations, which will be added to the "jobs" - // section of the CircleCI config file - let newJobConfigurations = {}; - const generateJobConfigurations = (jobs: CandidateJob[]) => { - for(let j of jobs){ - if(j.tests.length === 0){ - continue; - } - const names = j.tests.map(tn => getOldJobNameWithoutSuffixes(tn)).join('_'); - let jobName = `${j.os}_${names}`; - if(isMigration){ - const startIndex = baseJobName.lastIndexOf('_'); - jobName = jobName + baseJobName.substring(startIndex); - } + return [...osJobs, ...soloJobs]; + }; + const linuxJobs = generateJobsForOS('l'); + const windowsJobs = generateJobsForOS('w'); - newJobConfigurations = { - ...newJobConfigurations, - [jobName]: { - ...baseJob, - environment: { - ...(baseJob?.environment || {}), - TEST_SUITE: j.tests.join('|'), - CLI_REGION: j.region, - ...(j.useParentAccount ? { USE_PARENT_ACCOUNT: 1 } : {}) - } - } - } - if(j.os === 'l'){ - counts.l ++; - } else { - counts.w ++; - } - } - } - generateJobConfigurations(linuxJobs); - generateJobConfigurations(windowsJobs); + // create the new job configurations, which will be added to the "jobs" + // section of the CircleCI config file + let newJobConfigurations = {}; + const generateJobConfigurations = (jobs: CandidateJob[]) => { + for (let j of jobs) { + if (j.tests.length === 0) { + continue; + } + const names = j.tests.map(tn => getOldJobNameWithoutSuffixes(tn)).join('_'); + let jobName = `${j.os}_${names}`; + if (isMigration) { + const startIndex = baseJobName.lastIndexOf('_'); + jobName = jobName + baseJobName.substring(startIndex); + } + newJobConfigurations = { + ...newJobConfigurations, + [jobName]: { + ...baseJob, + environment: { + ...(baseJob?.environment || {}), + TEST_SUITE: j.tests.join('|'), + CLI_REGION: j.region, + ...(j.useParentAccount ? { USE_PARENT_ACCOUNT: 1 } : {}), + }, + }, + }; + if (j.os === 'l') { + counts.l = counts.l + 1; + } else { + counts.w = counts.w + 1; + } + } + }; + generateJobConfigurations(linuxJobs); + generateJobConfigurations(windowsJobs); - // Split jobs by region - const jobByRegion = Object.entries(newJobConfigurations).reduce((acc: Record, entry: [string, any]) => { - const [jobName, job] = entry; - const region = job?.environment?.CLI_REGION; - const regionJobs = { ...acc[region], [jobName]: job }; - return { ...acc, [region]: regionJobs }; - }, {}); + // Split jobs by region + const jobByRegion = Object.entries(newJobConfigurations).reduce((acc: Record, entry: [string, any]) => { + const [jobName, job] = entry; + const region = job?.environment?.CLI_REGION; + const regionJobs = { ...acc[region], [jobName]: job }; + return { ...acc, [region]: regionJobs }; + }, {}); - const workflows = { ...config.workflows }; + const workflows = { ...config.workflows }; - if (workflows[workflowName]) { - const workflow = workflows[workflowName]; + if (workflows[workflowName]) { + const workflow = workflows[workflowName]; - const workflowJob = workflow.jobs.find(j => { - if (typeof j === 'string') { - return j === baseJobName; - } else { - const name = Object.keys(j)[0]; - return name === baseJobName; - } - }); + const workflowJob = workflow.jobs.find(j => { + if (typeof j === 'string') { + return j === baseJobName; + } else { + const name = Object.keys(j)[0]; + return name === baseJobName; + } + }); - if (workflowJob) { - Object.values(jobByRegion).forEach((regionJobs: any) => { - const newJobNames = Object.keys(regionJobs as object); - const jobs = newJobNames.map((newJobName, index) => { - if (typeof workflowJob === 'string') { - return newJobName; - } else { - const isSingleTest = regionJobs[newJobName].environment.TEST_SUITE.split('|').length === 1; - let requiredJobs = workflowJob[baseJobName].requires || []; - // don't need to wait on windows if this is a linux test - if (newJobName.startsWith('l')) { - requiredJobs = requiredJobs.filter(j => j !== 'build_windows_workspace_for_e2e'); - } - // we can downsize on linux - let runner = (isMigration || isSingleTest) ? 'l_medium' : 'l_large'; - if(!newJobName.startsWith('l')){ - runner = 'w_medium';// w_medium is the smallest we can go for windows - } - return { - [newJobName]: { - ...Object.values(workflowJob)[0], - requires: requiredJobs, - matrix: { - parameters: { - os: [runner] - }, - }, - }, - }; - } - }); - workflow.jobs = [...workflow.jobs, ...jobs]; + if (workflowJob) { + Object.values(jobByRegion).forEach((regionJobs: any) => { + const newJobNames = Object.keys(regionJobs as object); + const jobs = newJobNames.map((newJobName, index) => { + if (typeof workflowJob === 'string') { + return newJobName; + } else { + const isSingleTest = regionJobs[newJobName].environment.TEST_SUITE.split('|').length === 1; + let requiredJobs = workflowJob[baseJobName].requires || []; + // don't need to wait on windows if this is a linux test + if (newJobName.startsWith('l')) { + requiredJobs = requiredJobs.filter(j => j !== 'build_windows_workspace_for_e2e'); + } + // we can downsize on linux + let runner = isMigration || isSingleTest ? 'l_medium' : 'l_large'; + if (!newJobName.startsWith('l')) { + runner = 'w_medium'; // w_medium is the smallest we can go for windows + } + return { + [newJobName]: { + ...Object.values(workflowJob)[0], + requires: requiredJobs, + matrix: { + parameters: { + os: [runner], + }, + }, + }, + }; + } }); + workflow.jobs = [...workflow.jobs, ...jobs]; + }); - const lastJobBatch = Object.values(jobByRegion) - .map(regionJobs => getLastBatchJobs(Object.keys(regionJobs as Object), 50)) - .reduce((acc, val) => acc.concat(val), []); - const filteredJobs = replaceWorkflowDependency(removeWorkflowJob(workflow.jobs, baseJobName), baseJobName, lastJobBatch); - workflow.jobs = filteredJobs; - } - output.workflows = workflows; + const lastJobBatch = Object.values(jobByRegion) + .map(regionJobs => getLastBatchJobs(Object.keys(regionJobs as Object), 50)) + .reduce((acc, val) => acc.concat(val), []); + const filteredJobs = replaceWorkflowDependency(removeWorkflowJob(workflow.jobs, baseJobName), baseJobName, lastJobBatch); + workflow.jobs = filteredJobs; } - output.jobs = { - ...output.jobs, - ...newJobConfigurations, - }; - return output; + output.workflows = workflows; } + output.jobs = { + ...output.jobs, + ...newJobConfigurations, + }; + return output; +}; - - /** +/** * CircleCI workflow can have multiple jobs. This helper function removes the jobName from the workflow * @param jobs - All the jobs in workflow * @param jobName - job that needs to be removed from workflow */ export function removeWorkflowJob(jobs: WorkflowJob[], jobName: string): WorkflowJob[] { - return jobs.filter(j => { - if (typeof j === 'string') { - return j !== jobName; - } else { - const name = Object.keys(j)[0]; - return name !== jobName; - } - }); + return jobs.filter(j => { + if (typeof j === 'string') { + return j !== jobName; + } else { + const name = Object.keys(j)[0]; + return name !== jobName; + } + }); } - + /** * * @param jobs array of job names * @param concurrency number of concurrent jobs */ export function getLastBatchJobs(jobs: string[], concurrency: number): string[] { - const lastBatchJobLength = Math.min(concurrency, jobs.length); - const lastBatchJobNames = jobs.slice(jobs.length - lastBatchJobLength); - return lastBatchJobNames; + const lastBatchJobLength = Math.min(concurrency, jobs.length); + const lastBatchJobNames = jobs.slice(jobs.length - lastBatchJobLength); + return lastBatchJobNames; } - + /** * A job in workflow can require some other job in the workflow to be finished before executing * This helper method finds and replaces jobName with jobsToReplacesWith @@ -357,15 +348,15 @@ export function getLastBatchJobs(jobs: string[], concurrency: number): string[] * @param jobsToReplaceWith - jobs to add to requires */ export function replaceWorkflowDependency(jobs: WorkflowJob[], jobName: string, jobsToReplaceWith: string[]): WorkflowJob[] { - return jobs.map(j => { - if (typeof j === 'string') return j; - const [currentJobName, jobObj] = Object.entries(j)[0]; - const requires = jobObj.requires || []; - if (requires.includes(jobName)) { - jobObj.requires = [...requires.filter(r => r !== jobName), ...jobsToReplaceWith]; - } - return { - [currentJobName]: jobObj, - }; - }); -} \ No newline at end of file + return jobs.map(j => { + if (typeof j === 'string') return j; + const [currentJobName, jobObj] = Object.entries(j)[0]; + const requires = jobObj.requires || []; + if (requires.includes(jobName)) { + jobObj.requires = [...requires.filter(r => r !== jobName), ...jobsToReplaceWith]; + } + return { + [currentJobName]: jobObj, + }; + }); +} diff --git a/scripts/split-e2e-tests.ts b/scripts/split-e2e-tests.ts index be7190c4e9f..181dda1c560 100644 --- a/scripts/split-e2e-tests.ts +++ b/scripts/split-e2e-tests.ts @@ -41,47 +41,47 @@ function validateArtifactStoragePaths(config: CircleCIConfig) { const storagePathsUsedInConfig = new Set(); const unregisteredPaths = new Set(); const invalidPaths = new Set(); - for(let key of Object.keys(config.jobs)) { + for (let key of Object.keys(config.jobs)) { const job = config.jobs[key]; const steps = job.steps; - for(let i = 0; i < steps.length; i ++){ + for (let i = 0; i < steps.length; i++) { const resultsPath = steps[i].store_test_results; const artifactsPath = steps[i].store_artifacts; - if(resultsPath){ + if (resultsPath) { storagePathsUsedInConfig.add(resultsPath.path); - if(ARTIFACT_STORAGE_PATH_ALLOW_LIST.indexOf(resultsPath.path) === -1){ + if (ARTIFACT_STORAGE_PATH_ALLOW_LIST.indexOf(resultsPath.path) === -1) { unregisteredPaths.add(resultsPath.path); } - if (!resultsPath.path.startsWith("~/")){ + if (!resultsPath.path.startsWith('~/')) { invalidPaths.add(resultsPath.path); } } - if(artifactsPath){ + if (artifactsPath) { storagePathsUsedInConfig.add(artifactsPath.path); - if(ARTIFACT_STORAGE_PATH_ALLOW_LIST.indexOf(artifactsPath.path) === -1){ + if (ARTIFACT_STORAGE_PATH_ALLOW_LIST.indexOf(artifactsPath.path) === -1) { unregisteredPaths.add(artifactsPath.path); } - if (!artifactsPath.path.startsWith("~/")){ + if (!artifactsPath.path.startsWith('~/')) { invalidPaths.add(artifactsPath.path); } } } } - if(unregisteredPaths.size > 0 || invalidPaths.size > 0){ - console.log("There are errors in your configuration.\n"); + if (unregisteredPaths.size > 0 || invalidPaths.size > 0) { + console.log('There are errors in your configuration.\n'); - if(invalidPaths.size > 0){ + if (invalidPaths.size > 0) { const errors = Array.from(invalidPaths); - console.log("Fix these paths. They must start with ~/",errors, "\n"); + console.log('Fix these paths. They must start with ~/', errors, '\n'); } - if(unregisteredPaths.size > 0){ + if (unregisteredPaths.size > 0) { const newList = Array.from(storagePathsUsedInConfig); const unregisteredList = Array.from(unregisteredPaths); - console.log("You are storing artifacts in an unregistered location."); - console.log("Please update artifact-storage-path-allow-list.ts to include the new storage paths."); - console.log("Update the list to match this:", newList); - console.log("Doing so will register these unregistered paths:", unregisteredList); + console.log('You are storing artifacts in an unregistered location.'); + console.log('Please update artifact-storage-path-allow-list.ts to include the new storage paths.'); + console.log('Update the list to match this:', newList); + console.log('Doing so will register these unregistered paths:', unregisteredList); } process.exit(1); } @@ -89,7 +89,7 @@ function validateArtifactStoragePaths(config: CircleCIConfig) { function main(): void { const config = loadConfig(); - + validateArtifactStoragePaths(config); const counts = { w: 0, l: 0 }; @@ -100,7 +100,7 @@ function main(): void { 'build_test_deploy_v3', join(REPO_ROOT, 'packages', 'amplify-e2e-tests'), false, - undefined + undefined, ); const splitV5MigrationTests = splitTestsV2( splitPkgTests, @@ -110,8 +110,8 @@ function main(): void { join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { - return tests.filter(testName => migrationFromV5Tests.find((t) => t === testName)); - } + return tests.filter(testName => migrationFromV5Tests.find(t => t === testName)); + }, ); const splitV6MigrationTests = splitTestsV2( splitV5MigrationTests, @@ -121,8 +121,8 @@ function main(): void { join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { - return tests.filter(testName => migrationFromV6Tests.find((t) => t === testName)); - } + return tests.filter(testName => migrationFromV6Tests.find(t => t === testName)); + }, ); const splitV10MigrationTests = splitTestsV2( splitV6MigrationTests, @@ -132,8 +132,8 @@ function main(): void { join(REPO_ROOT, 'packages', 'amplify-migration-tests'), true, (tests: string[]) => { - return tests.filter(testName => migrationFromV10Tests.find((t) => t === testName)); - } + return tests.filter(testName => migrationFromV10Tests.find(t => t === testName)); + }, ); console.log(counts); saveConfig(splitV10MigrationTests); From 06d60f7170da72bf419542434acc78a8a8d513a7 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 17 Jan 2023 15:21:57 -0500 Subject: [PATCH 67/69] chore: lint, remove unused import --- packages/amplify-cli/src/initialize-env.ts | 63 +++++++++++++--------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/packages/amplify-cli/src/initialize-env.ts b/packages/amplify-cli/src/initialize-env.ts index d0bd208ce52..14c566fb3de 100644 --- a/packages/amplify-cli/src/initialize-env.ts +++ b/packages/amplify-cli/src/initialize-env.ts @@ -1,9 +1,6 @@ import ora from 'ora'; import sequential from 'promise-sequential'; -import { - stateManager, $TSAny, $TSMeta, $TSContext, AmplifyFault, -} from 'amplify-cli-core'; -import { printer } from 'amplify-prompts'; +import { stateManager, $TSAny, $TSMeta, $TSContext, AmplifyFault } from 'amplify-cli-core'; import { ensureEnvParamManager, IEnvironmentParameterManager } from '@aws-amplify/amplify-environment-parameters'; import { getProviderPlugins } from './extensions/amplify-helpers/get-provider-plugins'; import { ManuallyTimedCodePath } from './domain/amplify-usageData/UsageDataTypes'; @@ -41,7 +38,7 @@ export const initializeEnv = async ( const categoryPluginInfoList = context.amplify.getAllCategoryPluginInfo(context); const availableCategories = Object.keys(categoryPluginInfoList).filter(key => initializedCategories.includes(key)); - const importCategoryPluginAndQueueInitEnvTask = async (pluginInfo, category) : Promise => { + const importCategoryPluginAndQueueInitEnvTask = async (pluginInfo, category): Promise => { try { const { initEnv } = await import(pluginInfo.packageLocation); @@ -49,10 +46,14 @@ export const initializeEnv = async ( categoryInitializationTasks.push(() => initEnv(context)); } } catch (e) { - throw new AmplifyFault('PluginNotLoadedFault', { - message: `Could not load plugin for category ${category}.`, - resolution: `Review the error message and stack trace for additional information.`, - }, e); + throw new AmplifyFault( + 'PluginNotLoadedFault', + { + message: `Could not load plugin for category ${category}.`, + resolution: `Review the error message and stack trace for additional information.`, + }, + e, + ); } }; for (const category of availableCategories) { @@ -71,31 +72,39 @@ export const initializeEnv = async ( const providerModule = await import(providerPlugins[provider]); initializationTasks.push(() => providerModule.initEnv(context, amplifyMeta.providers[provider])); } catch (e) { - throw new AmplifyFault('PluginNotLoadedFault', { - message: `Could not load plugin for provider ${provider}.`, - resolution: 'Review the error message and stack trace for additional information.', - }, e); + throw new AmplifyFault( + 'PluginNotLoadedFault', + { + message: `Could not load plugin for provider ${provider}.`, + resolution: 'Review the error message and stack trace for additional information.', + }, + e, + ); } } spinner.start( - isPulling ? `Fetching updates to backend environment: ${currentEnv} from the cloud.` : `Initializing your environment: ${currentEnv}` + isPulling ? `Fetching updates to backend environment: ${currentEnv} from the cloud.` : `Initializing your environment: ${currentEnv}`, ); try { context.usageData.startCodePathTimer(ManuallyTimedCodePath.INIT_ENV_PLATFORM); await sequential(initializationTasks); } catch (e) { - throw new AmplifyFault('ProjectInitFault', { - message: `Could not initialize platform for '${currentEnv}': ${e.message}`, - resolution: 'Review the error message and stack trace for additional information.', - }, e); + throw new AmplifyFault( + 'ProjectInitFault', + { + message: `Could not initialize platform for '${currentEnv}': ${e.message}`, + resolution: 'Review the error message and stack trace for additional information.', + }, + e, + ); } finally { context.usageData.stopCodePathTimer(ManuallyTimedCodePath.INIT_ENV_PLATFORM); } spinner.info( - isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.' + isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.', ); const projectDetails = context.amplify.getProjectDetails(); @@ -107,10 +116,14 @@ export const initializeEnv = async ( context.usageData.startCodePathTimer(ManuallyTimedCodePath.INIT_ENV_CATEGORIES); await sequential(categoryInitializationTasks); } catch (e) { - throw new AmplifyFault('ProjectInitFault', { - message: `Could not initialize categories for '${currentEnv}': ${e.message}`, - resolution: 'Review the error message and stack trace for additional information.', - }, e); + throw new AmplifyFault( + 'ProjectInitFault', + { + message: `Could not initialize categories for '${currentEnv}': ${e.message}`, + resolution: 'Review the error message and stack trace for additional information.', + }, + e, + ); } finally { context.usageData.stopCodePathTimer(ManuallyTimedCodePath.INIT_ENV_CATEGORIES); } @@ -155,8 +168,8 @@ const mergeCategoryEnvParamsIntoAmplifyMeta = ( serviceName: string, ): void => { if ( - envParamManager.hasResourceParamManager(category, serviceName) - && envParamManager.getResourceParamManager(category, serviceName).hasAnyParams() + envParamManager.hasResourceParamManager(category, serviceName) && + envParamManager.getResourceParamManager(category, serviceName).hasAnyParams() ) { Object.assign(amplifyMeta[category][serviceName], envParamManager.getResourceParamManager(category, serviceName).getAllParams()); } From b9d7daa69dbe69b6150ed2c5466ffd167c3a8d6c Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 17 Jan 2023 15:27:29 -0500 Subject: [PATCH 68/69] chore: undo changes to initialize-env.ts --- packages/amplify-cli/src/initialize-env.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/amplify-cli/src/initialize-env.ts b/packages/amplify-cli/src/initialize-env.ts index 14c566fb3de..574ff4f5ad8 100644 --- a/packages/amplify-cli/src/initialize-env.ts +++ b/packages/amplify-cli/src/initialize-env.ts @@ -1,11 +1,13 @@ import ora from 'ora'; import sequential from 'promise-sequential'; import { stateManager, $TSAny, $TSMeta, $TSContext, AmplifyFault } from 'amplify-cli-core'; +import { printer } from 'amplify-prompts'; import { ensureEnvParamManager, IEnvironmentParameterManager } from '@aws-amplify/amplify-environment-parameters'; import { getProviderPlugins } from './extensions/amplify-helpers/get-provider-plugins'; import { ManuallyTimedCodePath } from './domain/amplify-usageData/UsageDataTypes'; const spinner = ora(''); + /** * Entry point for initializing an environment. Delegates out to plugins initEnv function */ @@ -103,7 +105,7 @@ export const initializeEnv = async ( context.usageData.stopCodePathTimer(ManuallyTimedCodePath.INIT_ENV_PLATFORM); } - spinner.info( + spinner.succeed( isPulling ? `Successfully pulled backend environment ${currentEnv} from the cloud.` : 'Initialized provider successfully.', ); @@ -148,9 +150,9 @@ export const initializeEnv = async ( // Generate AWS exports/configuration file await context.amplify.onCategoryOutputsChange(context, currentAmplifyMeta); - spinner.succeed(isPulling ? '' : 'Initialized your environment successfully.'); + printer.success(isPulling ? '' : 'Initialized your environment successfully.'); } catch (e) { - // let the error propagate up after we safely exit + // let the error propagate up after we safely exit the spinner spinner.fail('There was an error initializing your environment.'); throw e; } From bce4effe0982a5ed8a433f2b67eba89cb2867ca0 Mon Sep 17 00:00:00 2001 From: Armando Luja Date: Tue, 17 Jan 2023 17:26:16 -0500 Subject: [PATCH 69/69] ci: windows smoke test list for non-dev branches --- scripts/split-e2e-tests-v2.ts | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/scripts/split-e2e-tests-v2.ts b/scripts/split-e2e-tests-v2.ts index 015d283a5b5..e5606856a1e 100644 --- a/scripts/split-e2e-tests-v2.ts +++ b/scripts/split-e2e-tests-v2.ts @@ -33,6 +33,66 @@ const RUN_SOLO = [ 'src/__tests__/schema-auth-15.test.ts', 'src/__tests__/schema-connection-1.test.ts', ]; +/** + * Most Windows tests only run on 'dev', except for this list of smoke tests. + * This list should contain ~30 high quality tests that provide good overall coverage. + * + * All other tests will eventually run on 'dev'. + */ +const WINDOWS_SMOKE_TESTS = [ + // api, lambda, multi-env + 'src/__tests__/api_lambda_auth_1.test.ts', + // auth with api, trigger, and function that depends on api + 'src/__tests__/auth_2e.test.ts', + // js with with all auth options + 'src/__tests__/auth_3c.test.ts', + // headless auth with totp & sms + 'src/__tests__/auth_5b.test.ts', + // headless auth update resource + 'src/__tests__/auth_5e.test.ts', + // js with all auth options and front end config + 'src/__tests__/auth_6.test.ts', + // auth import + 'src/__tests__/auth_7b.test.ts', + // flutter with auth + 'src/__tests__/auth_8b.test.ts', + // android + 'src/__tests__/auth_11.test.ts', + // auth with multiple triggers + 'src/__tests__/auth-trigger.test.ts', + // configure + 'src/__tests__/congifure-project.test.ts', + // api with containers and secrets + 'src/__tests__/containers-api-secrets.test.ts', + // api with dynamodb & lambda, custom policies + 'src/__tests__/custom_policies_function.test.ts', + // env + 'src/__tests__/env-1.test.ts', + // export and pull + 'src/__tests__/export-pull-a.test.ts', + // functions + 'src/__tests__/function_10.test.ts', + // notifications with function permissions + 'src/__tests__/function-permissions.test.ts', + // geo + 'src/__tests__/geo-add-a.test.ts', + // global sandbox + 'src/__tests__/global_sandbox-b.test.ts', + // hooks + 'src/__tests__/hooks-b.test.ts', + // hosting + 'src/__tests__/hostingPROD.test.ts', + // import, s3 + 'src/__tests__/import_s3_2b.test.ts', + // interactions + 'src/__tests__/interactions.test.ts', + // schema auth test + 'src/__tests__/schema-auth-1a.test.ts', + // schema model test + 'src/__tests__/schema-model-e.test.ts', + // interative deployments + 'src/__tests__/schema-iterative-update-1.test.ts', +]; const TEST_EXCLUSIONS: { l: string[]; w: string[] } = { l: [], w: [ @@ -170,6 +230,11 @@ export const splitTestsV2 = function splitTests( if (TEST_EXCLUSIONS[os].find(excluded => test === excluded)) { continue; } + // when we are not running E2E on 'dev', we only run a subset of tests on Windows + const isNotDevBranch = process.env.CIRCLE_BRANCH !== 'dev'; + if (isNotDevBranch && os === 'w' && !WINDOWS_SMOKE_TESTS.includes(test)) { + continue; // skip this test + } const US_WEST_2 = FORCE_US_WEST_2.find(t => test.startsWith(t)); const USE_PARENT = USE_PARENT_ACCOUNT.some(usesParent => test.startsWith(usesParent));