From ba58f40d385e5f371c468470752a4d5aa0b16789 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 7 Jun 2025 13:37:22 -0400 Subject: [PATCH 1/3] Split Cygwin CI into two test jobs One job is for all tests except the `performance` tests, while the other job is for only the `performance` tests. The idea is to decrease the total time it takes for all CI jobs to complete in most cases, by splitting the long-running (currently usually about 13 minute) Cygwin job into two less-long jobs. --- .github/workflows/cygwin-test.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 572a9197e..d73f0522e 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -10,6 +10,14 @@ jobs: runs-on: windows-latest strategy: + matrix: + selection: [fast, perf] + include: + - selection: fast + additional-pytest-args: --ignore=test/performance + - selection: perf + additional-pytest-args: test/performance/ + fail-fast: false env: @@ -87,4 +95,4 @@ jobs: - name: Test with pytest run: | - pytest --color=yes -p no:sugar --instafail -vv + pytest --color=yes -p no:sugar --instafail -vv ${{ matrix.additional-pytest-args }} From 414de64b095282ce39b9dd34876167e607b331cf Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 7 Jun 2025 14:13:25 -0400 Subject: [PATCH 2/3] Show differing `pytest` arguments in step name In the "Test with pytest" step of the Cygwin test jobs. This is to distinguish the newly split jobs from each other more clearly when glancing at their steps for a run. --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index d73f0522e..3c1eb3dc0 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -93,6 +93,6 @@ jobs: python --version python -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - - name: Test with pytest + - name: Test with pytest (${{ matrix.additional-pytest-args }}) run: | pytest --color=yes -p no:sugar --instafail -vv ${{ matrix.additional-pytest-args }} From a6c623eecf12eb525ad115b0be75c7449c4f8efe Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 7 Jun 2025 14:18:14 -0400 Subject: [PATCH 3/3] Small stylistic consistency tweak This removes an unnecessary trailing slash that I had not used consistently anyway. --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 3c1eb3dc0..7c3eeedca 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -16,7 +16,7 @@ jobs: - selection: fast additional-pytest-args: --ignore=test/performance - selection: perf - additional-pytest-args: test/performance/ + additional-pytest-args: test/performance fail-fast: false