ci(pytest.yml): adopt matrix syntax of GitHub actions

The pytest based testing is redefined adopting tmatrix based syntax
GitHub offers.  This eases to track which versions of OSes and Python
interpreters are engaged, and a format is more compact, than the one
used earlier.  Inspired/partially copy-pasted from a project related
to chemistry.[1]

[1] https://github.com/nbehrnd/datawarrior_saturate_Murcko_scaffolds

Signed-off-by: Norwid Behrnd <nbehrnd@yahoo.com>
This commit is contained in:
Norwid Behrnd 2024-11-12 18:15:59 +01:00
parent f79abfe062
commit 3b8493bb62

View file

@ -3,7 +3,7 @@ name: CI_pytest_appendfilename
# name : pytest.yml
# purpose : regularly run pytest on appendfilename
# date : [2024-10-31 Thu]
# edit : [2024-10-31 Thu]
# edit : [2024-11-12 Tue]
on:
push:
@ -17,9 +17,17 @@ on:
# - cron: "0 0 1 * *" # once each 1st of a month, at 00:00 UTC (cf. https://crontab.guru/)
jobs:
test-ubuntu-2404:
runs-on: ubuntu-24.04
timeout-minutes: 5
test:
strategy:
matrix:
# for a factorial test, an explicit selection of GitHUb runner images
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
# state of commit 23478d3 as visited on 2024-11-11 Mon
os: [ubuntu-20.04, ubuntu-22.04,ubuntu-24.04, windows-2019, windows-2022, macos-14]
python-version: ["3.10", "3.12"]
runs-on: ${{ matrix.os }}
timeout-minutes: 5 # Timeout for each job individually
steps:
- uses: actions/checkout@v4
@ -28,52 +36,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies with PyPI
run: pip install -r requirements.txt
- name: run the check by pytest
run: |
python -m pytest -m "default"
python -m pytest -m "prepend"
python -m pytest -m "smart"
test-windows-2022:
runs-on: windows-2022
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
# by [2024-10-23 Wed], this version possibly will be considered "old", cf.
# https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies with PyPI
run: pip install -r requirements.txt
- name: run the check by pytest
run: |
python -m pytest -m "default"
python -m pytest -m "prepend"
python -m pytest -m "smart"
test-macos-14:
runs-on: macos-14
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
# by [2024-10-23 Wed], this version possibly will be considered "old", cf.
# https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
- uses: actions/setup-python@v5
with:
python-version: '3.x'
python-version: ${{ matrix.python-version }}
- name: Install dependencies with PyPI
run: pip install -r requirements.txt