From 63478b68c0a54c78f94ced691a1699af01adb242 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 17:16:09 -0400 Subject: [PATCH 01/10] Add Python versions to CI And enable `fail-fast: false` in more places, perhaps temporarily, to figure out all of which versions/platforms are failing, why they are failing, and which of them will make sense to try to fix. I'm doing this now with the goal of allowing CI to pass on Dependabot PRs, especially security update PRs like #230, while being able to be pretty confident that they don't break anything. --- .github/workflows/pytest-conda.yml | 4 +++- .github/workflows/pytest-pipenv-lock.yml | 3 ++- .github/workflows/pytest-pipenv.yml | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest-conda.yml b/.github/workflows/pytest-conda.yml index 93c16d1..570136a 100644 --- a/.github/workflows/pytest-conda.yml +++ b/.github/workflows/pytest-conda.yml @@ -9,7 +9,9 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.11', '3.10', '3.9', '3.8', '3.7'] + python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + + fail-fast: false runs-on: ${{ matrix.os }} diff --git a/.github/workflows/pytest-pipenv-lock.yml b/.github/workflows/pytest-pipenv-lock.yml index e1ef364..c670522 100644 --- a/.github/workflows/pytest-pipenv-lock.yml +++ b/.github/workflows/pytest-pipenv-lock.yml @@ -7,10 +7,11 @@ jobs: name: Test strategy: - fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] + fail-fast: false + runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/pytest-pipenv.yml b/.github/workflows/pytest-pipenv.yml index c325abf..57df6ac 100644 --- a/.github/workflows/pytest-pipenv.yml +++ b/.github/workflows/pytest-pipenv.yml @@ -9,7 +9,9 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.11', '3.10', '3.9', '3.8', '3.7'] + python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + + fail-fast: false runs-on: ${{ matrix.os }} From 5f1bd05b037f5cc239bf4e0f853f3741f2ca1010 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 17:40:49 -0400 Subject: [PATCH 02/10] Streamline Dependabot configuration - Remove unnecessary pull request limit, since grouping the updates is sufficient to prevent an excessive number of PRs. - Group GHA updates as well (not just Python ones). This is mostly to avoid unnecessary inconsistency, but also sometimes multiple related actions get upates at the same time, such that CI jobs may not pass if only one is updated. --- .github/dependabot.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 28673b9..48de424 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,7 +6,6 @@ updates: interval: "monthly" allow: - dependency-type: "all" - open-pull-requests-limit: 20 groups: python-dependencies: patterns: ['*'] @@ -15,3 +14,6 @@ updates: directory: "/" schedule: interval: "daily" + groups: + github-actions: + patterns: ['*'] From 3a9c89ab19c3df745345e61a33c6f8b1c5dce40c Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 17:43:59 -0400 Subject: [PATCH 03/10] Remove CodeQL workflow (in prep for default setup) This removes the CodeQL workflow, because I am going to try enabling the "default" setup. The default setup works pretty well these days, avoids having to update actions or make changes to account for drift in recommended configuration or to remove steps that become unnecessary over time (such as installing dependencies, for some languages), and makes it easy to expand scanning to also cover GitHub Actions workflows (which is now fully supported). --- .github/workflows/codeql.yml | 95 ------------------------------------ 1 file changed, 95 deletions(-) delete mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 8069d18..0000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,95 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ "main" ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ "main" ] - schedule: - - cron: '27 17 * * 0' - -jobs: - analyze: - name: Analyze - - runs-on: ubuntu-latest - - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'python' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Use only 'java' to analyze code written in Java, Kotlin or both - # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - defaults: - run: - shell: bash -l {0} - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up micromamba - uses: mamba-org/setup-micromamba@v1 - with: - environment-file: environment.yml - - - name: Set interpreter - run: | - CODEQL_PYTHON=$(command -v python) - for name in CODEQL_PYTHON PATH; do - printf '%s=%s\n' "$name" "${!name}" | tee -a -- "$GITHUB_ENV" - done - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - setup-python-dependencies: false - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" From 2a70f3db5d340a2cc218b40d4753b7a0b2a89fec Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 17:56:38 -0400 Subject: [PATCH 04/10] Consolidate workflows This moves all GitHub Actions workflows that have the same event triggers and are not likely ever to be wanted to have different event triggers into a single workflow file. This is most of them. --- .github/workflows/flake8.yml | 17 --- .github/workflows/pytest-conda.yml | 38 ------ .github/workflows/pytest-pipenv-lock.yml | 37 ------ .github/workflows/pytest-pipenv.yml | 54 -------- .github/workflows/shellcheck.yml | 12 -- .github/workflows/test.yml | 150 +++++++++++++++++++++++ 6 files changed, 150 insertions(+), 158 deletions(-) delete mode 100644 .github/workflows/flake8.yml delete mode 100644 .github/workflows/pytest-conda.yml delete mode 100644 .github/workflows/pytest-pipenv-lock.yml delete mode 100644 .github/workflows/pytest-pipenv.yml delete mode 100644 .github/workflows/shellcheck.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml deleted file mode 100644 index fb5dc9a..0000000 --- a/.github/workflows/flake8.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: flake8 Lint - -on: [push, pull_request] - -jobs: - flake8-lint: - runs-on: ubuntu-latest - name: Lint - steps: - - name: Check out source repository - uses: actions/checkout@v4 - - name: Set up Python environment - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - name: flake8 Lint - uses: py-actions/flake8@v2 diff --git a/.github/workflows/pytest-conda.yml b/.github/workflows/pytest-conda.yml deleted file mode 100644 index 570136a..0000000 --- a/.github/workflows/pytest-conda.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: pytest (conda) - -on: [push, pull_request] - -jobs: - test: - name: Test - - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] - - fail-fast: false - - runs-on: ${{ matrix.os }} - - defaults: - run: - shell: bash -l {0} - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Substitute Python version - run: | - perl -i -spwe 's/^ *- python=\K.+$/$pyver/' -- \ - -pyver=${{ matrix.python-version }} environment.yml - - - name: Set up micromamba - uses: mamba-org/setup-micromamba@v1 - with: - environment-file: environment.yml - - - name: Run all tests - run: pytest --doctest-modules - timeout-minutes: 2 diff --git a/.github/workflows/pytest-pipenv-lock.yml b/.github/workflows/pytest-pipenv-lock.yml deleted file mode 100644 index c670522..0000000 --- a/.github/workflows/pytest-pipenv-lock.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: pytest (Pipfile.lock) - -on: [push, pull_request] - -jobs: - test: - name: Test - - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - - fail-fast: false - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: 3.11 - - - name: Upgrade PyPA packages - run: python -m pip install -U pip setuptools wheel - - - name: Install pipenv - run: pip install pipenv - - - name: Install project with all dependencies - run: pipenv install -d - - - name: Run all tests - run: pipenv run pytest --doctest-modules - timeout-minutes: 2 diff --git a/.github/workflows/pytest-pipenv.yml b/.github/workflows/pytest-pipenv.yml deleted file mode 100644 index 57df6ac..0000000 --- a/.github/workflows/pytest-pipenv.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: pytest (Pipfile) - -on: [push, pull_request] - -jobs: - test: - name: Test - - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] - - fail-fast: false - - runs-on: ${{ matrix.os }} - - defaults: - run: - shell: bash - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Remove Pipfile.lock - run: rm Pipfile.lock - - - name: Drop full Python version - run: | - perl -i -nwe 'print unless /^python_full_version = "[^"]+"$/' Pipfile - - - name: Substitute Python version - run: | - perl -i -spwe 's/^python_version = "\K[^"]+(?="$)/$pyver/' -- \ - -pyver=${{ matrix.python-version }} Pipfile - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Upgrade PyPA packages - run: python -m pip install -U pip setuptools wheel - - - name: Install pipenv - run: pip install pipenv - - - name: Install project with all dependencies - run: pipenv install -d - - - name: Run all tests - run: pipenv run pytest --doctest-modules - timeout-minutes: 2 diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml deleted file mode 100644 index 0459627..0000000 --- a/.github/workflows/shellcheck.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Run ShellCheck - -on: [push, pull_request] - -jobs: - shellcheck: - runs-on: [ubuntu-latest] - steps: - - name: Check out source repository - uses: actions/checkout@v4 - - name: Analyze shell scripts - uses: 'bewuethr/shellcheck-action@v2' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..7a59f96 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,150 @@ +name: Test + +on: [push, pull_request] + +jobs: + pytest-conda: + name: pytest (conda) + + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + + fail-fast: false + + runs-on: ${{ matrix.os }} + + defaults: + run: + shell: bash -l {0} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Substitute Python version + run: | + perl -i -spwe 's/^ *- python=\K.+$/$pyver/' -- \ + -pyver=${{ matrix.python-version }} environment.yml + + - name: Set up micromamba + uses: mamba-org/setup-micromamba@v1 + with: + environment-file: environment.yml + + - name: Run all tests + run: pytest --doctest-modules + timeout-minutes: 2 + + pytest-pipenv-lock: + name: pytest (Pipfile.lock) + + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + + fail-fast: false + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: 3.11 + + - name: Upgrade PyPA packages + run: python -m pip install -U pip setuptools wheel + + - name: Install pipenv + run: pip install pipenv + + - name: Install project with all dependencies + run: pipenv install -d + + - name: Run all tests + run: pipenv run pytest --doctest-modules + timeout-minutes: 2 + + pytest-pipenv: + name: pytest (Pipfile) + + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + + fail-fast: false + + runs-on: ${{ matrix.os }} + + defaults: + run: + shell: bash + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Remove Pipfile.lock + run: rm Pipfile.lock + + - name: Drop full Python version + run: | + perl -i -nwe 'print unless /^python_full_version = "[^"]+"$/' Pipfile + + - name: Substitute Python version + run: | + perl -i -spwe 's/^python_version = "\K[^"]+(?="$)/$pyver/' -- \ + -pyver=${{ matrix.python-version }} Pipfile + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Upgrade PyPA packages + run: python -m pip install -U pip setuptools wheel + + - name: Install pipenv + run: pip install pipenv + + - name: Install project with all dependencies + run: pipenv install -d + + - name: Run all tests + run: pipenv run pytest --doctest-modules + timeout-minutes: 2 + + lint: + name: Lint (flake8) + + runs-on: ubuntu-latest + + steps: + - name: Check out source repository + uses: actions/checkout@v4 + + - name: Set up Python environment + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: flake8 Lint + uses: py-actions/flake8@v2 + + shellcheck: + name: ShellCheck + + runs-on: ubuntu-latest + + steps: + - name: Check out source repository + uses: actions/checkout@v4 + + - name: Analyze shell scripts + uses: bewuethr/shellcheck-action@v2 From 406e85c9b1910a30c77962b67b5d47dfe9aafe9f Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 17:59:05 -0400 Subject: [PATCH 05/10] Unify YAML code style --- .github/dependabot.yml | 14 +++++++------- .github/workflows/test.yml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 48de424..47cf599 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,19 +1,19 @@ version: 2 updates: - - package-ecosystem: "pip" - directory: "/" + - package-ecosystem: pip + directory: '/' schedule: - interval: "monthly" + interval: monthly allow: - - dependency-type: "all" + - dependency-type: all groups: python-dependencies: patterns: ['*'] - - package-ecosystem: "github-actions" - directory: "/" + - package-ecosystem: github-actions + directory: '/' schedule: - interval: "daily" + interval: daily groups: github-actions: patterns: ['*'] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a59f96..445f63e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -132,7 +132,7 @@ jobs: - name: Set up Python environment uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: '3.11' - name: flake8 Lint uses: py-actions/flake8@v2 From ff7f723baa8103d969f2c1207852f90d2b128e38 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 18:59:57 -0400 Subject: [PATCH 06/10] Don't try to test on unsupported versions - Exclude the 3.7 job on macOS, since `macos-latest` is AArch64 which doesn't have builds for 3.7. - Comment out 3.13t, since it doesn't seem to be working at all right now for this, on any platforms. That can be investigated later. --- .github/workflows/test.yml | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 445f63e..375aa0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,8 +8,22 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + os: + - ubuntu-latest + - macos-latest + - windows-latest + python-version: + # - '3.13t' + - '3.13' + - '3.12' + - '3.11' + - '3.10' + - '3.9' + - '3.8' + - '3.7' + exclude: + - os: macos-latest + python-version: '3.7' fail-fast: false @@ -75,8 +89,22 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.13t', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8', '3.7'] + os: + - ubuntu-latest + - macos-latest + - windows-latest + python-version: + # - '3.13t' + - '3.13' + - '3.12' + - '3.11' + - '3.10' + - '3.9' + - '3.8' + - '3.7' + exclude: + - os: macos-latest + python-version: '3.7' fail-fast: false From 256cdb9d855271f3c9c01a35df2f28dd5f43fbde Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 19:10:02 -0400 Subject: [PATCH 07/10] Try to force Python x64 on Windows `pytest-pipenv` It was using the 32-bit x86 Python instead of the 64-bit x86-64 Python on Windows in the `pytest-pipenv` job, which was never intended and also caused failures in 3.10, 3.11, 3.12, and 3.13 (during an attempt to build a dependency). --- .github/workflows/test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 375aa0d..b05cfc6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -131,10 +131,18 @@ jobs: -pyver=${{ matrix.python-version }} Pipfile - name: Set up Python + if: matrix.os != 'windows-latest' uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Set up Python + if: matrix.os == 'windows-latest' + uses: actions/setup-python@v5 + with: + architecture: x64 + python-version: ${{ matrix.python-version }} + - name: Upgrade PyPA packages run: python -m pip install -U pip setuptools wheel From 53dcb4fde66921b1e98596e63b37686d9542b21d Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 19:17:10 -0400 Subject: [PATCH 08/10] Drop non-locked `pipenv` test on Windows entirely `pipenv` is picking the 32-bit Python when it should prefer the architecture-matching 64-bit Python. I don't know why this happens. It looks like it might be a bug in `pipenv` but I am not sure. This isn't worth fixing unless development is to be resumed and alternatives to `pipenv` (such as `uv`) turn out to be unsuitable. Instead, this commit drops the Windows jobs in `pytest-pipenv`. All the other Windows jobs are kept: the locked `pipenv` test job for Windows in `pytest-pipenv-lock`, as well as the seven Windows `conda` jobs in `pytest-conda`. --- .github/workflows/test.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b05cfc6..b2a2c31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -92,7 +92,7 @@ jobs: os: - ubuntu-latest - macos-latest - - windows-latest + # - windows-latest python-version: # - '3.13t' - '3.13' @@ -131,16 +131,8 @@ jobs: -pyver=${{ matrix.python-version }} Pipfile - name: Set up Python - if: matrix.os != 'windows-latest' - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Set up Python - if: matrix.os == 'windows-latest' uses: actions/setup-python@v5 with: - architecture: x64 python-version: ${{ matrix.python-version }} - name: Upgrade PyPA packages From 39437a33db2e49789aba39dd3d34c279072797da Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 19:33:59 -0400 Subject: [PATCH 09/10] Move GNU/Linux Python 3.7 test to Ubuntu 22.04 LTS Rather than `ubuntu-latest`, which is currently Ubuntu 24.04 LTS. (Neither the `ubuntu-24.04` image nor the `python-versions` download source have builds of Python 3.7 that run on Ubuntu, due to Python 3.7 being end-of-life for a while now.) --- .github/workflows/test.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b2a2c31..fe49cca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,6 +91,7 @@ jobs: matrix: os: - ubuntu-latest + - ubuntu-22.04 - macos-latest # - windows-latest python-version: @@ -103,6 +104,23 @@ jobs: - '3.8' - '3.7' exclude: + # Don't test Python 3.7 on Ubuntu >= 24.04 LTS. + - os: ubuntu-latest + python-version: '3.7' + # Only test Python 3.7 on Ubuntu 22.04 LTS. + - os: ubuntu-22.04 + python-version: '3.13' + - os: ubuntu-22.04 + python-version: '3.12' + - os: ubuntu-22.04 + python-version: '3.11' + - os: ubuntu-22.04 + python-version: '3.10' + - os: ubuntu-22.04 + python-version: '3.9' + - os: ubuntu-22.04 + python-version: '3.8' + # Don't test Python 3.7 on macOS. - os: macos-latest python-version: '3.7' From 90146fdc9b4124807ee6788090034a2350d6ba03 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 24 Apr 2025 19:59:08 -0400 Subject: [PATCH 10/10] Remove `fail-fast: false`; fix style inconsistency --- .github/workflows/test.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fe49cca..a189ec2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,8 +25,6 @@ jobs: - os: macos-latest python-version: '3.7' - fail-fast: false - runs-on: ${{ matrix.os }} defaults: @@ -56,9 +54,10 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - - fail-fast: false + os: + - ubuntu-latest + - macos-latest + - windows-latest runs-on: ${{ matrix.os }} @@ -124,8 +123,6 @@ jobs: - os: macos-latest python-version: '3.7' - fail-fast: false - runs-on: ${{ matrix.os }} defaults: