Skip to content

canary_checks

canary_checks #5676

Workflow file for this run

name: canary_checks
on:
schedule:
- cron: '0 */1 * * *' # runs every hour
workflow_dispatch:
jobs:
local_checks_with_latest_dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # version 4.1.4
- uses: ./.github/actions/setup_node
- name: Install and build without lock file
shell: bash
run: |
rm package-lock.json
./scripts/retry.js npm install
npm run build
- name: Check dependencies
shell: bash
run: |
npm run check:dependencies
- name: Run unit and integration tests
shell: bash
run: |
# Integration tests snapshots can change when new construct or CDK version is pulled in
# However we still want to run synthesis in these tests to verify that it doesn't fail
export AMPLIFY_BACKEND_TESTS_DISABLE_INTEGRATION_SNAPSHOTS_COMPARISON=true
npm run test
live_dependency_health_checks:
runs-on: ubuntu-latest
strategy:
# will finish running other test matrices even if one fails
fail-fast: false
matrix:
region: [us-west-2, us-east-1, ca-central-1, eu-central-1]
timeout-minutes: 20
env:
AWS_REGION: ${{ matrix.region }}
permissions:
# these permissions are required for the configure-aws-credentials action to get a JWT from GitHub
id-token: write
contents: read
steps:
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # version 4.1.4
- uses: ./.github/actions/setup_node
- uses: ./.github/actions/build_with_cache
- name: Configure test tooling credentials
uses: ./.github/actions/setup_profile
with:
role-to-assume: ${{ secrets.E2E_TOOLING_ROLE_ARN }}
aws-region: ${{ matrix.region }}
profile-name: e2e-tooling
- name: Configure test execution credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # version 4.0.2
with:
role-to-assume: ${{ secrets.E2E_RUNNER_ROLE_ARN }}
aws-region: ${{ matrix.region }}
- name: Run live dependency health checks
shell: bash
run: |
./scripts/retry.js npm run live-dependency-health-checks