use amplifyCli to replace runWithPackageManager #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Description: This workflow mimic the flow of behaviors when user using Amplify CLI; | |
name: 'poc-e2e-flow-test' | |
on: # TODO: need to change the trigger | |
push: | |
branches: | |
- poc/package-manager-support | |
- poc/pms-use-health-check | |
pull_request: | |
branches: | |
- poc/package-manager-support | |
jobs: | |
install: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout aws-amplify/amplify-cli repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node.js | |
uses: ./.github/actions/setup_node | |
- name: Install or Restore Cache | |
uses: ./.github/actions/install_with_cache | |
build: | |
runs-on: ubuntu-latest | |
needs: | |
- install | |
steps: | |
- name: Checkout aws-amplify/amplify-cli repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node.js | |
uses: ./.github/actions/setup_node | |
- name: Build or Restore Build Cache | |
uses: ./.github/actions/build_with_cache | |
run_e2e_tests: | |
strategy: | |
# will finish running other test matrices even if one fails | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
pkg-manager: [npm, yarn-classic, yarn-modern, pnpm] | |
node-version: [20] | |
exclude: | |
- os: windows-latest | |
pkg-manager: pnpm | |
env: | |
PACKAGE_MANAGER: ${{ matrix.pkg-manager }} | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
needs: | |
- build | |
permissions: | |
# these permissions are required for the configure-aws-credentials action to get a JWT from GitHub | |
id-token: write | |
contents: read | |
steps: | |
- name: Checkout aws-amplify/amplify-cli repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node.js | |
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # version 3.8.1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Restore Build Cache | |
uses: ./.github/actions/restore_build_cache | |
- name: Configure test tooling credentials | |
uses: ./.github/actions/setup_profile | |
with: | |
role-to-assume: ${{ secrets.E2E_TOOLING_ROLE_ARN }} | |
aws-region: us-west-2 | |
profile-name: e2e-tooling | |
- name: Configure test execution credentials | |
uses: aws-actions/configure-aws-credentials@04b98b3f9e85f563fb061be8751a0352327246b0 # version 3.0.1 | |
with: | |
role-to-assume: ${{ secrets.E2E_RUNNER_ROLE_ARN }} | |
aws-region: us-west-2 | |
- name: Run E2E flow tests with ${{ matrix.pkg-manager }} | |
shell: bash | |
run: | | |
PACKAGE_MANAGER=${{matrix.pkg-manager}} npm run test:dir packages/integration-tests/src/package_manager_sanity_checks.test.ts |