name: Checkly on: [deployment_status] env: CHECKLY_API_KEY: ${{ secrets.CHECKLY_API_KEY }} CHECKLY_ACCOUNT_ID: ${{ secrets.CHECKLY_ACCOUNT_ID }} CHECKLY_TEST_ENVIRONMENT: ${{ github.event.deployment_status.environment }} jobs: test-e2e: strategy: matrix: node-version: [22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # Only run when the deployment was successful if: github.event.deployment_status.state == 'success' name: Test E2E on Checkly runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v6 with: ref: '${{ github.event.deployment_status.deployment.ref }}' fetch-depth: 0 - name: Set branch name # workaround to detect branch name in "deployment_status" actions run: echo "CHECKLY_TEST_REPO_BRANCH=$(git show -s --pretty=%D HEAD | tr -s ',' '\n' | sed 's/^ //' | grep -e 'origin/' | head -1 | sed 's/\origin\///g')" >> $GITHUB_ENV - name: Set up Node.js environment uses: ./.github/actions/setup-project with: node-version: ${{ matrix.node-version }} - name: Run checks # run the checks passing in the ENVIRONMENT_URL and recording a test session. id: run-checks run: npx dotenv -c production -- npx checkly test --reporter=github --record env: VERCEL_BYPASS_TOKEN: ${{ secrets.VERCEL_BYPASS_TOKEN }} ENVIRONMENT_URL: ${{ github.event.deployment_status.environment_url }} - name: Create summary # export the markdown report to the job summary. id: create-summary run: cat checkly-github-report.md > $GITHUB_STEP_SUMMARY - name: Deploy checks # if the test run was successful and we are on Production, deploy the checks id: deploy-checks if: steps.run-checks.outcome == 'success' && github.event.deployment_status.environment == 'Production' run: npx dotenv -c production -- npx checkly deploy --force