From 3b8493bb62b65808330b8e2a98e4b54dcfbee00d Mon Sep 17 00:00:00 2001 From: Norwid Behrnd Date: Tue, 12 Nov 2024 18:15:59 +0100 Subject: [PATCH] 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 --- .github/workflows/pytest.yml | 63 ++++++++---------------------------- 1 file changed, 13 insertions(+), 50 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index c9939f8..02d87d9 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -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