<aside> ☝
PR testing requires preview environments.
</aside>
Open a PR to add a few GitHub Actions
Add this GitHub Workflow that will be responsible for creating the QA Wolf Test Results
check run in the pull request so that it can be merged without any constraints. However, this check still needs to pass in the merge queue so it can be merged.
name: Create passing QA Wolf check for pull request
on:
pull_request:
types: [opened, reopened, synchronize]
jobs:
qawolf_check_creation:
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: read
steps:
- name: Create passing check for pull request
uses: actions/github-script@v6
with:
script: |
await github.rest.checks.create({
owner: context.repo.owner,
repo: context.repo.repo,
name: 'QA Wolf Test Results',
head_sha: context.payload.pull_request.head.sha,
status: 'completed',
conclusion: 'success',
output: {
title: 'QA Wolf Test Results',
summary: 'QA Wolf approved PRs by default, expecting E2E test runs in the merge queues.'
}
});
Add this GitHub Workflow to trigger preview environment testing in the merge queues:
name: Test preview environment
on:
pull_request:
merge_group:
jobs:
test-preview-environment:
name: Trigger wolf tests
runs-on: ubuntu-latest
needs:
- step-that-waits-your-preview-env-to-come-up
steps:
- name: Notify QA Wolf of deployment
uses: qawolf/notify-qawolf-on-deploy-action@v1
if: ${{ github.event_name == 'merge_group' }}
with:
qawolf-api-key: "${{ secrets.QAWOLF_API_KEY }}"
deployment-url: "${{ possible-preview-url }}"
deployment-type: "check-with-support"
# Allow the same PR to be tested multiple times in the merge queue
deduplication-key: "${{ github.ref }}"
secrets:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Merge the PR.
Go into https://github.com/ORG/REPO/settings/rules and create/edit a rule that affects your main branch. Check Require status checks to pass
, and add QA Wolf Test Results
as a required check.
Your merge queue will only merge after QA Wolf tests pass.