Skip to content

CI Full Matrix

CI Full Matrix #12

name: CI Full Matrix
on:
schedule:
- cron: "0 9 * * MON"
workflow_dispatch:
jobs:
full-test:
name: Full test on ${{ matrix.cfg.os }}, Python ${{ matrix.cfg.python-version }}
runs-on: ${{ matrix.cfg.os }}
timeout-minutes: 90
concurrency:
group: ci-full-matrix-${{ github.workflow }}-${{ github.ref }}-${{ matrix.cfg.os }}-${{ matrix.cfg.python-version }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
cfg:
- { os: ubuntu-latest, python-version: "3.11" }
- { os: ubuntu-latest, python-version: "3.12" }
- { os: ubuntu-latest, python-version: "3.13" }
- { os: macos-latest, python-version: "3.11" }
- { os: macos-latest, python-version: "3.12" }
- { os: macos-latest, python-version: "3.13" }
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Additional info about the build
shell: bash
run: |
uname -a
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.cfg.python-version }}
- name: Setup conda env
uses: mamba-org/setup-micromamba@v2
with:
environment-file: devtools/conda-envs/test_env.yaml
environment-name: test
condarc: |
channels:
- uibcdf
- conda-forge
channel_priority: strict
create-args: >-
python=${{ matrix.cfg.python-version }}
cache-downloads: true
- name: Info conda
shell: bash -l {0}
run: |
micromamba activate test
micromamba info
micromamba list
- name: Install package
shell: bash -l {0}
run: |
python -m pip install . --no-deps
- name: Test import module
shell: bash -l {0}
run: |
echo "::group::Importing module from home directory"
cd
pwd
echo 'import pyunitwizard; print("Version of the package: {}".format(pyunitwizard.__version__))' | python
echo "::endgroup::"
- name: Run tests
shell: bash -l {0}
run: |
export PYTHONPATH=$PYTHONPATH:$(pwd)
pytest -n logical -v --color=yes