Compatibility Matrix Testing #27
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
name: Compatibility Matrix Testing | |
on: | |
workflow_dispatch: | |
inputs: | |
CMT_MATRIX: | |
description: "A JSON object representing the testing matrix" | |
required: true | |
type: string | |
DESKTOP_VERSION: | |
description: "The desktop version to test" | |
required: true | |
jobs: | |
## This is picked up after the finish for cleanup | |
upload-cmt-server-detals: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: cmt/generate-instance-details-file | |
run: echo '${{ inputs.CMT_MATRIX }}' > instance-details.json | |
- name: cmt/upload-instance-details | |
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | |
with: | |
name: instance-details.json | |
path: instance-details.json | |
retention-days: 1 | |
calculate-commit-hash: | |
runs-on: ubuntu-22.04 | |
outputs: | |
DESKTOP_SHA: ${{ steps.repo.outputs.DESKTOP_SHA }} | |
steps: | |
- name: cmt/checkout-desktop | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
ref: ${{ inputs.DESKTOP_VERSION }} | |
- name: cmt/calculate-mattermost-sha | |
id: repo | |
run: echo "DESKTOP_SHA=$(git rev-parse HEAD)" >> ${GITHUB_OUTPUT} | |
update-initial-status: | |
runs-on: ubuntu-22.04 | |
needs: | |
- calculate-commit-hash | |
steps: | |
- uses: mattermost/actions/delivery/update-commit-status@746563b58e737a17a8ceb00b84a813b9e6e1b236 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
repository_full_name: mattermost/desktop | |
commit_sha: ${{ needs.calculate-commit-hash.outputs.DESKTOP_SHA }} | |
context: e2e/compatibility-matrix-testing | |
description: "Compatibility Matrix Testing for ${{ inputs.DESKTOP_VERSION }} version" | |
status: pending | |
# Input follows the below schema | |
# { | |
# "environment": [ | |
# { | |
# "os": "linux", | |
# "runner": "ubuntu-22.04" | |
# }, | |
# { | |
# "os": "macos", | |
# "runner": "macos-13" | |
# }, | |
# { | |
# "os": "windows", | |
# "runner": "windows-2022" | |
# } | |
# ], | |
# "server": [ | |
# { | |
# "version": "9.6.1", | |
# "url": "https://delivery-cmt-8467830017-9-6-1.test.mattermost.cloud/" | |
# }, | |
# { | |
# "version": "9.5.2", | |
# "url": "https://delivery-cmt-8467830017-9-5-2.test.mattermost.cloud/" | |
# } | |
# ] | |
# } | |
e2e: | |
name: ${{ matrix.environment.os }}-${{ matrix.server.version }} | |
uses: ./.github/workflows/e2e-functional-template.yml | |
needs: | |
- update-initial-status | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJson(inputs.CMT_MATRIX) }} | |
secrets: inherit | |
with: | |
runs-on: ${{ matrix.environment.runner }} | |
cmt: true | |
MM_TEST_SERVER_URL: ${{ matrix.server.url }} | |
DESKTOP_VERSION: ${{ inputs.DESKTOP_VERSION }} | |
# We need to duplicate here in order to set the proper commit status | |
# https://mattermost.atlassian.net/browse/CLD-5815 | |
update-failure-final-status: | |
runs-on: ubuntu-22.04 | |
if: failure() || cancelled() | |
needs: | |
- calculate-commit-hash | |
- e2e | |
steps: | |
- uses: mattermost/actions/delivery/update-commit-status@746563b58e737a17a8ceb00b84a813b9e6e1b236 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
repository_full_name: mattermost/desktop | |
commit_sha: ${{ needs.calculate-commit-hash.outputs.DESKTOP_SHA }} | |
context: e2e/compatibility-matrix-testing | |
description: "Compatibility Matrix Testing for ${{ inputs.DESKTOP_VERSION }} version" | |
status: failure | |
# https://mattermost.atlassian.net/browse/CLD-5815 | |
update-success-final-status: | |
runs-on: ubuntu-22.04 | |
if: success() | |
needs: | |
- calculate-commit-hash | |
- e2e | |
steps: | |
- uses: mattermost/actions/delivery/update-commit-status@746563b58e737a17a8ceb00b84a813b9e6e1b236 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
repository_full_name: mattermost/desktop | |
commit_sha: ${{ needs.calculate-commit-hash.outputs.DESKTOP_SHA }} | |
context: e2e/compatibility-matrix-testing | |
description: "Compatibility Matrix Testing for ${{ inputs.DESKTOP_VERSION }} version" | |
status: success |