|
| 1 | +# Gen2 Migration PR Workflow |
| 2 | +# |
| 3 | +# This workflow executes the full migration E2E test for apps in amplify-migration-apps. |
| 4 | +# |
| 5 | +# Each migration test takes approximately 30 minutes and runs in parallel. |
| 6 | +# The workflow first builds the CLI binaries, then runs migration tests concurrently. |
| 7 | +# |
| 8 | +# To trigger this workflow, configure a CodeBuild project with: |
| 9 | +# - Buildspec: codebuild_specs/gen2_migration_e2e_pr_workflow.yml |
| 10 | +# - Environment variables: TEST_ACCOUNT_ROLE (IAM role ARN for test account) |
| 11 | +# |
| 12 | +version: 0.2 |
| 13 | +env: |
| 14 | + shell: bash |
| 15 | + compute-type: BUILD_GENERAL1_MEDIUM |
| 16 | + variables: |
| 17 | + AWS_DEFAULT_REGION: us-east-1 |
| 18 | + AWS_REGION: us-east-1 |
| 19 | + CDK_DEFAULT_REGION: us-east-1 |
| 20 | + CLI_REGION: us-east-1 |
| 21 | + AMPLIFY_DIR: '$CODEBUILD_SRC_DIR/out' |
| 22 | + AMPLIFY_PATH: '$CODEBUILD_SRC_DIR/out/amplify-pkg-linux-x64' |
| 23 | + |
| 24 | +batch: |
| 25 | + fast-fail: false |
| 26 | + build-graph: |
| 27 | + # Build phase - required for all migration tests |
| 28 | + - identifier: build_linux |
| 29 | + buildspec: codebuild_specs/build_linux.yml |
| 30 | + env: |
| 31 | + compute-type: BUILD_GENERAL1_LARGE |
| 32 | + |
| 33 | + - identifier: publish_to_local_registry |
| 34 | + buildspec: codebuild_specs/publish_to_local_registry.yml |
| 35 | + depend-on: |
| 36 | + - build_linux |
| 37 | + env: |
| 38 | + compute-type: BUILD_GENERAL1_LARGE |
| 39 | + |
| 40 | + - identifier: build_pkg_binaries_linux |
| 41 | + buildspec: codebuild_specs/build_pkg_binaries_linux.yml |
| 42 | + depend-on: |
| 43 | + - publish_to_local_registry |
| 44 | + env: |
| 45 | + compute-type: BUILD_GENERAL1_LARGE |
| 46 | + |
| 47 | + - identifier: upb |
| 48 | + buildspec: codebuild_specs/upload_pkg_binaries_linux_only.yml |
| 49 | + depend-on: |
| 50 | + - build_pkg_binaries_linux |
| 51 | + env: |
| 52 | + compute-type: BUILD_GENERAL1_LARGE |
| 53 | + |
| 54 | + # Migration E2E tests - run in parallel after binaries are ready |
| 55 | + # Each test takes ~30 minutes and deploys real AWS resources |
| 56 | + - identifier: migrate_backend_only |
| 57 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 58 | + env: |
| 59 | + compute-type: BUILD_GENERAL1_LARGE |
| 60 | + variables: |
| 61 | + MIGRATION_APP: backend-only |
| 62 | + depend-on: |
| 63 | + - upb |
| 64 | + |
| 65 | + - identifier: migrate_discussions |
| 66 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 67 | + env: |
| 68 | + compute-type: BUILD_GENERAL1_LARGE |
| 69 | + variables: |
| 70 | + MIGRATION_APP: discussions |
| 71 | + depend-on: |
| 72 | + - upb |
| 73 | + |
| 74 | + - identifier: migrate_fitness_tracker |
| 75 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 76 | + env: |
| 77 | + compute-type: BUILD_GENERAL1_LARGE |
| 78 | + variables: |
| 79 | + MIGRATION_APP: fitness-tracker |
| 80 | + depend-on: |
| 81 | + - upb |
| 82 | + |
| 83 | + # TODO: migrate_imported_resources is excluded - not ready for CI yet |
| 84 | + |
| 85 | + - identifier: migrate_media_vault |
| 86 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 87 | + env: |
| 88 | + compute-type: BUILD_GENERAL1_LARGE |
| 89 | + variables: |
| 90 | + MIGRATION_APP: media-vault |
| 91 | + depend-on: |
| 92 | + - upb |
| 93 | + |
| 94 | + - identifier: migrate_mood_board |
| 95 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 96 | + env: |
| 97 | + compute-type: BUILD_GENERAL1_LARGE |
| 98 | + variables: |
| 99 | + MIGRATION_APP: mood-board |
| 100 | + depend-on: |
| 101 | + - upb |
| 102 | + |
| 103 | + - identifier: migrate_product_catalog |
| 104 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 105 | + env: |
| 106 | + compute-type: BUILD_GENERAL1_LARGE |
| 107 | + variables: |
| 108 | + MIGRATION_APP: product-catalog |
| 109 | + depend-on: |
| 110 | + - upb |
| 111 | + |
| 112 | + - identifier: migrate_project_boards |
| 113 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 114 | + env: |
| 115 | + compute-type: BUILD_GENERAL1_LARGE |
| 116 | + variables: |
| 117 | + MIGRATION_APP: project-boards |
| 118 | + depend-on: |
| 119 | + - upb |
| 120 | + |
| 121 | + - identifier: migrate_store_locator |
| 122 | + buildspec: codebuild_specs/run_gen2_migration_e2e.yml |
| 123 | + env: |
| 124 | + compute-type: BUILD_GENERAL1_LARGE |
| 125 | + variables: |
| 126 | + MIGRATION_APP: store-locator |
| 127 | + depend-on: |
| 128 | + - upb |
0 commit comments