matrix-react-sdk End to End Tests #1989
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
# Triggers after the "Downstream artifacts" build has finished, to run the | |
# matrix-react-sdk playwright & cypress tests (with access to repo secrets) | |
name: matrix-react-sdk End to End Tests | |
on: | |
workflow_run: | |
workflows: ["Build downstream artifacts"] | |
types: | |
- completed | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }} | |
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }} | |
jobs: | |
cypress: | |
name: Cypress | |
# We only want to run the cypress tests on merge queue to prevent regressions | |
# from creeping in. They take a long time to run and consume multiple concurrent runners. | |
if: github.event.workflow_run.event == 'merge_group' | |
uses: matrix-org/matrix-react-sdk/.github/workflows/cypress.yaml@develop | |
permissions: | |
actions: read | |
issues: read | |
statuses: write | |
pull-requests: read | |
secrets: | |
# secrets are not automatically shared with called workflows, so share the cypress dashboard key, and the Kiwi login details | |
KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS_RUST: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS_RUST}} | |
KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS_LEGACY: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS_LEGACY}} | |
TCMS_USERNAME: ${{ secrets.TCMS_USERNAME }} | |
TCMS_PASSWORD: ${{ secrets.TCMS_PASSWORD }} | |
with: | |
react-sdk-repository: matrix-org/matrix-react-sdk | |
playwright: | |
name: Playwright | |
# We only want to run the playwright tests on merge queue to prevent regressions | |
# from creeping in. They take a long time to run and consume multiple concurrent runners. | |
if: github.event.workflow_run.event == 'merge_group' | |
uses: matrix-org/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop | |
permissions: | |
actions: read | |
issues: read | |
statuses: write | |
pull-requests: read | |
deployments: write | |
with: | |
react-sdk-repository: matrix-org/matrix-react-sdk | |
# We want to make the cypress tests a required check for the merge queue. | |
# | |
# Unfortunately, github doesn't distinguish between "checks needed for branch | |
# protection" (ie, the things that must pass before the PR will even be added | |
# to the merge queue) and "checks needed in the merge queue". We just have to add | |
# the check to the branch protection list. | |
# | |
# Ergo, if we know we're not going to run the cypress tests, we need to add a | |
# passing status check manually. | |
mark_skipped: | |
if: github.event.workflow_run.event != 'merge_group' | |
permissions: | |
statuses: write | |
runs-on: ubuntu-latest | |
steps: | |
- uses: Sibz/github-status-action@071b5370da85afbb16637d6eed8524a06bc2053e # v1 | |
with: | |
authToken: "${{ secrets.GITHUB_TOKEN }}" | |
state: success | |
description: Cypress skipped | |
# Keep in step with the `context` that is updated by `Sibz/github-status-action` | |
# in matrix-org/matrix-react-sdk/.github/workflows/cypress.yaml. | |
context: "${{ github.workflow }} / cypress" | |
sha: "${{ github.event.workflow_run.head_sha }}" | |
- uses: Sibz/github-status-action@071b5370da85afbb16637d6eed8524a06bc2053e # v1 | |
with: | |
authToken: "${{ secrets.GITHUB_TOKEN }}" | |
state: success | |
description: Playwright skipped | |
# Keep in step with the `context` that is updated by `Sibz/github-status-action` | |
# in matrix-org/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml. | |
context: "${{ github.workflow }} / end-to-end-tests" | |
sha: "${{ github.event.workflow_run.head_sha }}" |