[OCM][Test Suite] Add matrix of tests. #138
Workflow file for this run
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: Open Cloud Mesh Test Suite | |
# Controls when the action will run. | |
on: | |
# Triggers the workflow on push or pull request events but only for the specified branch | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
- ocm | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
login: | |
strategy: | |
fail-fast: false | |
matrix: | |
efss: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.7 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.3 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
# TODO: @MahdiBaghbani fix it via naother pr in future. (is it necessary?) | |
# cypress login is not compatible with previous versions | |
# { | |
# platform: seafile, | |
# version: 8.0.8 | |
# }, | |
# { | |
# platform: seafile, | |
# version: 9.0.10 | |
# }, | |
# { | |
# platform: seafile, | |
# version: 10.0.1 | |
# }, | |
{ | |
platform: seafile, | |
version: 11.0.5 | |
} | |
] | |
# The OS to run tests on, (I believe for OCM testing OS is really not that important) | |
runs-on: ubuntu-22.04 | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- name: Checkout. | |
uses: actions/checkout@v4 | |
- name: Pull images. | |
shell: bash | |
run: ./docker/pull/ocm-test-suite/${{ matrix.efss.platform }}.sh ${{ matrix.efss.version }} | |
- name: Initialize OCM tests dependencies. | |
shell: bash | |
run: ./init/ocm-test-suite.sh ci | |
- name: Run tests. | |
shell: bash | |
run: ./dev/ocm-test-suite-candid.sh login ${{ matrix.efss.platform }} ${{ matrix.efss.version }} ci electron | |
- name: Upload Cypress video artifacts. | |
uses: actions/upload-artifact@v4 | |
with: | |
name: login ${{ matrix.efss.platform }} ${{ matrix.efss.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos | |
share-with: | |
strategy: | |
fail-fast: false | |
matrix: | |
sender: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.7 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.3 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
{ | |
platform: seafile, | |
version: 11.0.5 | |
} | |
] | |
receiver: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.7 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.3 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
{ | |
platform: seafile, | |
version: 11.0.5 | |
} | |
] | |
# The OS to run tests on, (I believe for OCM testing OS is really not that important) | |
runs-on: ubuntu-22.04 | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- name: Checkout. | |
uses: actions/checkout@v4 | |
- name: Pull images. | |
shell: bash | |
run: | | |
./docker/pull/ocm-test-suite/${{ matrix.sender.platform }}.sh ${{ matrix.sender.version }} | |
./docker/pull/ocm-test-suite/${{ matrix.receiver.platform }}.sh ${{ matrix.receiver.version }} | |
- name: Initialize OCM tests dependencies. | |
shell: bash | |
run: ./init/ocm-test-suite.sh ci | |
- name: Run tests. | |
shell: bash | |
run: ./dev/ocm-test-suite-candid.sh share-with ${{ matrix.sender.platform }} ${{ matrix.sender.version }} ci electron ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
- name: Upload Cypress video artifacts. | |
uses: actions/upload-artifact@v4 | |
with: | |
name: share-with ${{ matrix.efss.platform }} ${{ matrix.efss.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos |