Files
mattermost/.github/workflows/e2e-tests-on-release.yml
T
sabril 0ec4a474d5 E2E/Test: Increase parallel tests and removed smoke tests (#35271)
* test: increase parallel tests and removed smoke tests both in cypress and playwright

* add duration and retest info

* indicate overall, first-pass and re-run run and test durations
2026-02-17 10:23:41 +08:00

134 lines
4.9 KiB
YAML

---
name: E2E Tests (release cut)
on:
workflow_dispatch:
inputs:
branch:
type: string
required: true
description: "Release branch (e.g., 'release-11.4')"
commit_sha:
type: string
required: true
description: "Commit SHA to test"
server_image_tag:
type: string
required: true
description: "Docker image tag (e.g., '11.4.0', '11.4.0-rc3', or 'release-11.4')"
server_image_aliases:
type: string
required: false
description: "Comma-separated alias tags (e.g., 'release-11.4, release-11')"
jobs:
validate:
runs-on: ubuntu-24.04
outputs:
ref_branch: "${{ steps.check.outputs.ref_branch }}"
steps:
- name: ci/checkout-repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ inputs.branch }}
fetch-depth: 50
- name: ci/validate-inputs
id: check
env:
BRANCH: ${{ inputs.branch }}
COMMIT_SHA: ${{ inputs.commit_sha }}
run: |
# Strip refs/heads/ prefix if present
BRANCH="${BRANCH#refs/heads/}"
if ! [[ "$BRANCH" =~ ^release-[0-9]+\.[0-9]+$ ]]; then
echo "::error::Branch ${BRANCH} must be 'release-X.Y' format."
exit 1
elif ! git merge-base --is-ancestor "$COMMIT_SHA" HEAD; then
echo "::error::Commit ${COMMIT_SHA} is not on branch ${BRANCH}."
exit 1
fi
echo "ref_branch=${BRANCH}" >> $GITHUB_OUTPUT
# Enterprise Edition
e2e-cypress:
needs: validate
uses: ./.github/workflows/e2e-tests-cypress.yml
with:
commit_sha: ${{ inputs.commit_sha }}
server_image_tag: ${{ inputs.server_image_tag }}
server_image_repo: mattermost
server_image_aliases: ${{ inputs.server_image_aliases }}
server: onprem
enable_reporting: true
report_type: RELEASE_CUT
ref_branch: ${{ needs.validate.outputs.ref_branch }}
secrets:
MM_LICENSE: "${{ secrets.MM_E2E_TEST_LICENSE_ONPREM_ENT }}"
AUTOMATION_DASHBOARD_URL: "${{ secrets.MM_E2E_AUTOMATION_DASHBOARD_URL }}"
AUTOMATION_DASHBOARD_TOKEN: "${{ secrets.MM_E2E_AUTOMATION_DASHBOARD_TOKEN }}"
PUSH_NOTIFICATION_SERVER: "${{ secrets.MM_E2E_PUSH_NOTIFICATION_SERVER }}"
REPORT_WEBHOOK_URL: "${{ secrets.MM_E2E_REPORT_WEBHOOK_URL }}"
CWS_URL: "${{ secrets.MM_E2E_CWS_URL }}"
CWS_EXTRA_HTTP_HEADERS: "${{ secrets.MM_E2E_CWS_EXTRA_HTTP_HEADERS }}"
e2e-playwright:
needs: validate
uses: ./.github/workflows/e2e-tests-playwright.yml
with:
commit_sha: ${{ inputs.commit_sha }}
server_image_tag: ${{ inputs.server_image_tag }}
server_image_repo: mattermost
server_image_aliases: ${{ inputs.server_image_aliases }}
server: onprem
enable_reporting: true
report_type: RELEASE_CUT
ref_branch: ${{ needs.validate.outputs.ref_branch }}
secrets:
MM_LICENSE: "${{ secrets.MM_E2E_TEST_LICENSE_ONPREM_ENT }}"
AWS_ACCESS_KEY_ID: "${{ secrets.CYPRESS_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.CYPRESS_AWS_SECRET_ACCESS_KEY }}"
REPORT_WEBHOOK_URL: "${{ secrets.MM_E2E_REPORT_WEBHOOK_URL }}"
# Enterprise FIPS Edition
e2e-cypress-fips:
needs: validate
uses: ./.github/workflows/e2e-tests-cypress.yml
with:
commit_sha: ${{ inputs.commit_sha }}
server_image_tag: ${{ inputs.server_image_tag }}
server_edition: fips
server_image_repo: mattermost
server_image_aliases: ${{ inputs.server_image_aliases }}
server: onprem
enable_reporting: true
report_type: RELEASE_CUT
ref_branch: ${{ needs.validate.outputs.ref_branch }}
secrets:
MM_LICENSE: "${{ secrets.MM_E2E_TEST_LICENSE_ONPREM_ENT }}"
AUTOMATION_DASHBOARD_URL: "${{ secrets.MM_E2E_AUTOMATION_DASHBOARD_URL }}"
AUTOMATION_DASHBOARD_TOKEN: "${{ secrets.MM_E2E_AUTOMATION_DASHBOARD_TOKEN }}"
PUSH_NOTIFICATION_SERVER: "${{ secrets.MM_E2E_PUSH_NOTIFICATION_SERVER }}"
REPORT_WEBHOOK_URL: "${{ secrets.MM_E2E_REPORT_WEBHOOK_URL }}"
CWS_URL: "${{ secrets.MM_E2E_CWS_URL }}"
CWS_EXTRA_HTTP_HEADERS: "${{ secrets.MM_E2E_CWS_EXTRA_HTTP_HEADERS }}"
e2e-playwright-fips:
needs: validate
uses: ./.github/workflows/e2e-tests-playwright.yml
with:
commit_sha: ${{ inputs.commit_sha }}
server_image_tag: ${{ inputs.server_image_tag }}
server_edition: fips
server_image_repo: mattermost
server_image_aliases: ${{ inputs.server_image_aliases }}
server: onprem
enable_reporting: true
report_type: RELEASE_CUT
ref_branch: ${{ needs.validate.outputs.ref_branch }}
secrets:
MM_LICENSE: "${{ secrets.MM_E2E_TEST_LICENSE_ONPREM_ENT }}"
AWS_ACCESS_KEY_ID: "${{ secrets.CYPRESS_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.CYPRESS_AWS_SECRET_ACCESS_KEY }}"
REPORT_WEBHOOK_URL: "${{ secrets.MM_E2E_REPORT_WEBHOOK_URL }}"