[OCM][Test Suite] Add invite link flow tests for oCIS #185
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 | |
max-parallel: 4 | |
matrix: | |
efss: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.7 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
{ | |
platform: ocis, | |
version: 5.0.6 | |
}, | |
# 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.sh login ${{ matrix.efss.platform }} ${{ matrix.efss.version }} ci electron | |
- name: Upload Cypress video artifacts. | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: login ${{ matrix.efss.platform }} ${{ matrix.efss.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos | |
share-with: | |
if: ${{ always() }} | |
needs: [login] | |
strategy: | |
fail-fast: false | |
max-parallel: 4 | |
matrix: | |
sender: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.7 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
{ | |
platform: seafile, | |
version: 11.0.5 | |
} | |
] | |
receiver: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.7 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
}, | |
{ | |
platform: seafile, | |
version: 11.0.5 | |
} | |
] | |
exclude: | |
# seafile doesn't support sending ocm shares to other platforms yet! exclude tests. | |
- sender: { | |
platform: seafile, | |
version: 11.0.5 | |
} | |
receiver: { | |
platform: nextcloud, | |
version: v27.1.10 | |
} | |
- sender: { | |
platform: seafile, | |
version: 11.0.5 | |
} | |
receiver: { | |
platform: nextcloud, | |
version: v28.0.7 | |
} | |
- sender: { | |
platform: seafile, | |
version: 11.0.5 | |
} | |
receiver: { | |
platform: owncloud, | |
version: v10.14.0 | |
} | |
# 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.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 | |
if: always() | |
with: | |
name: share-with from ${{ matrix.sender.platform }} ${{ matrix.sender.version }} to ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos | |
share-link: | |
if: ${{ always() }} | |
needs: [login] | |
strategy: | |
fail-fast: false | |
max-parallel: 3 | |
matrix: | |
sender: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.7 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
} | |
] | |
receiver: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: nextcloud, | |
version: v28.0.7 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
} | |
] | |
# 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.sh share-link ${{ matrix.sender.platform }} ${{ matrix.sender.version }} ci electron ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
- name: Upload Cypress video artifacts. | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: share-link from ${{ matrix.sender.platform }} ${{ matrix.sender.version }} to ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos | |
invite-link: | |
if: ${{ always() }} | |
needs: [login] | |
strategy: | |
fail-fast: false | |
max-parallel: 4 | |
matrix: | |
sender: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
} | |
] | |
receiver: [ | |
{ | |
platform: nextcloud, | |
version: v27.1.10 | |
}, | |
{ | |
platform: owncloud, | |
version: v10.14.0 | |
} | |
] | |
# 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.sh invite-link ${{ matrix.sender.platform }} ${{ matrix.sender.version }} ci electron ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
- name: Upload Cypress video artifacts. | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: invite-link from ${{ matrix.sender.platform }} ${{ matrix.sender.version }} to ${{ matrix.receiver.platform }} ${{ matrix.receiver.version }} | |
path: ./cypress/ocm-test-suite/cypress/videos |