Skip to content

run the CWL v1.2.1 conformance tests #1894

run the CWL v1.2.1 conformance tests

run the CWL v1.2.1 conformance tests #1894

Workflow file for this run

name: CI Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
TOX_SKIP_MISSING_INTERPRETERS: False
# Rich (pip)
FORCE_COLOR: 1
# Tox
PY_COLORS: 1
# Mypy (see https://github.com/python/mypy/issues/7771)
TERM: xterm-color
MYPY_FORCE_COLOR: 1
MYPY_FORCE_TERMINAL_WIDTH: 200
# Pytest
PYTEST_ADDOPTS: --color=yes
jobs:
conformance_tests:
name: CWL conformance
runs-on: ubuntu-22.04
strategy:
matrix:
cwl-version: [v1.0, v1.1, v1.2]
container: [docker, singularity, podman]
extras: [""]
include:
- cwl-version: v1.2
container: docker
extras: "--fast-parser"
steps:
- uses: actions/checkout@v4
- name: Set up Singularity
if: ${{ matrix.container == 'singularity' }}
run: |
wget --no-verbose https://github.com/sylabs/singularity/releases/download/v3.10.4/singularity-ce_3.10.4-jammy_amd64.deb
sudo apt-get install -y ./singularity-ce_3.10.4-jammy_amd64.deb
- name: Singularity cache
if: ${{ matrix.container == 'singularity' }}
uses: actions/cache@v3
with:
path: sifcache
key: singularity
- name: Set up Podman
if: ${{ matrix.container == 'podman' }}
run: sudo rm -f /usr/bin/docker ; sudo apt-get install -y podman
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.12
cache: pip
- name: "Test CWL ${{ matrix.cwl-version }} conformance"
env:
VERSION: ${{ matrix.cwl-version }}
CONTAINER: ${{ matrix.container }}
GIT_TARGET: ${{ matrix.cwl-version == 'v1.2' && '1.2.1_proposed' || 'main' }}
CWLTOOL_OPTIONS: ${{ matrix.cwl-version == 'v1.2' && '--relax-path-checks' || '' }} ${{ matrix.extras }}
run: ./conformance-test.sh
- name: Archive test results
uses: actions/upload-artifact@v3
with:
name: cwl-${{ matrix.cwl-version }}-${{ matrix.container }}${{ matrix.extras }}-conformance-results
path: |
**/cwltool_conf*.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}