From 02277f4283e577435dc583b99481aa35c4539988 Mon Sep 17 00:00:00 2001 From: Richard Si Date: Wed, 29 Jan 2025 12:28:01 -0500 Subject: [PATCH] ci: Test all Python versions on Windows on scheduled runs We should test pip across our entire Python support matrix on Windows, but we don't want to run the test suite across every Python version on very run as it's slow and unlikely to undercover a bug that the boundary jobs won't. --- .github/workflows/ci.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa6dea0f30e..3932e758288 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -172,17 +172,27 @@ jobs: matrix: os: [Windows] python: + # NOTE: don't forget to update middle versions below! - "3.8" - # Commented out, since Windows tests are expensively slow, - # only test the oldest and newest Python supported by pip - # - "3.9" - # - "3.10" - # - "3.11" - # - "3.12" + - "3.9" + - "3.10" + - "3.11" + - "3.12" - "3.13" group: - { number: 1, pytest-filter: "not test_install" } - { number: 2, pytest-filter: "test_install" } + scheduled: + - ${{ github.event_name == 'schedule' }} + exclude: + # Only run Windows CI across all Python versions during a scheduled run. + # This is possible by smuggling whether the run is scheduled via a + # a dynamic matrix variable and matching against that. Don't ask me why + # scheduled is defined as an array. + - { python: "3.9", scheduled: false } + - { python: "3.10", scheduled: false } + - { python: "3.11", scheduled: false } + - { python: "3.12", scheduled: false } steps: # The D: drive is significantly faster than the system C: drive.