From b0446f65b3a8d8ac0366bdedea7f15a992251a16 Mon Sep 17 00:00:00 2001 From: Teresia Olsson Date: Mon, 24 Aug 2026 11:45:45 +0200 Subject: [PATCH 1/2] Update workflow for unit tests to latest action versions and add testing against several python versions. --- .../workflows/{tests.yml => unit-tests.yml} | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) rename .github/workflows/{tests.yml => unit-tests.yml} (69%) diff --git a/.github/workflows/tests.yml b/.github/workflows/unit-tests.yml similarity index 69% rename from .github/workflows/tests.yml rename to .github/workflows/unit-tests.yml index b63ce2fb..cc7540b1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,7 +1,7 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python +# This workflow will install Python dependencies, run tests and lint with a several version of Python # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python -name: run tests +name: Run unit tests on: push: @@ -15,15 +15,19 @@ jobs: build: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Set up Python 3.12 - uses: actions/setup-python@v3 + - uses: actions/checkout@v6 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v7 with: - python-version: ">=3.12" + python-version: ${{ matrix.python-version }} + - name: Install dependencies run: | python -m pip install --upgrade pip @@ -31,11 +35,16 @@ jobs: pip install ./tests/dummy_cs/tango-pyaml pip install ./tests/external pip install flake8 + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest run: python -m pytest tests From ef7a1966e4c989c045d5f1874317e2241ec6f0b3 Mon Sep 17 00:00:00 2001 From: Teresia Olsson Date: Mon, 24 Aug 2026 17:06:15 +0200 Subject: [PATCH 2/2] Update unit test workflow to only run default python versions on PR and all supported on merge and manual trigger. --- .github/workflows/unit-tests.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index cc7540b1..b0bad8d9 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -7,6 +7,7 @@ on: push: branches: [ "main" ] pull_request: + workflow_dispatch: permissions: contents: read @@ -18,7 +19,10 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12", "3.13", "3.14"] + python-version: >- + ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') + && fromJSON(vars.PYTHON_ALL_SUPPORTED_TEST_VERSIONS) + || fromJSON(vars.PYTHON_DEFAULT_TEST_VERSIONS) }} steps: - uses: actions/checkout@v6