Skip to content

[OCM][Test Suite] Add invite link flow tests for oCIS #185

[OCM][Test Suite] Add invite link flow tests for oCIS

[OCM][Test Suite] Add invite link flow tests for oCIS #185

Workflow file for this run

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