name: E2E tests [fork] on: repository_dispatch: types: [ ok-to-test-command ] permissions: contents: read checks: write concurrency: group: e2e-fork-${{ github.event.client_payload.pull_request.number || github.run_id }} cancel-in-progress: true # cancel previous job runs for the same branch jobs: e2e-tests: uses: ./.github/workflows/e2e-tests.yml if: | github.event_name == 'repository_dispatch' && github.event.client_payload.slash_command.args.named.sha != '' && contains( github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.args.named.sha ) secrets: OP_CONNECT_CREDENTIALS: ${{ secrets.OP_CONNECT_CREDENTIALS }} OP_CONNECT_TOKEN: ${{ secrets.OP_CONNECT_TOKEN }} OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} update-check-status: needs: e2e-tests runs-on: ubuntu-latest if: always() && github.event_name == 'repository_dispatch' steps: - uses: actions/github-script@v6 env: ref: ${{ github.event.client_payload.pull_request.head.sha }} conclusion: ${{ needs.e2e-tests.result }} job: e2e-tests with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const { data: checks } = await github.rest.checks.listForRef({ ...context.repo, ref: process.env.ref }); const check = checks.check_runs.filter(c => c.name === process.env.job); const { data: result } = await github.rest.checks.update({ ...context.repo, check_run_id: check[0].id, status: 'completed', conclusion: process.env.conclusion }); return result;