Skip to content

Commit bce14f2

Browse files
NOSNOW - Update precommit to trim the PR test matrix (#3511)
Co-authored-by: Jonathan Shi <[email protected]>
1 parent 1585def commit bce14f2

File tree

1 file changed

+49
-138
lines changed

1 file changed

+49
-138
lines changed

.github/workflows/precommit.yml

Lines changed: 49 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -93,66 +93,31 @@ jobs:
9393
strategy:
9494
fail-fast: false
9595
matrix:
96-
os: [macos-latest, windows-latest-64-cores, ubuntu-latest-64-cores]
97-
python-version: ["3.9", "3.10", "3.11", "3.12"]
98-
cloud-provider: [aws, gcp, azure]
99-
exclude:
100-
# only run macos with aws py3.9 for doctest
101-
- os: macos-latest
102-
python-version: "3.10"
103-
- os: macos-latest
104-
python-version: "3.11"
105-
- os: macos-latest
106-
python-version: "3.9"
107-
cloud-provider: azure
108-
- os: macos-latest
109-
python-version: "3.9"
110-
cloud-provider: gcp
111-
# only run ubuntu with py3.9 on aws and py3.10 on azure
112-
- os: ubuntu-latest-64-cores
113-
python-version: "3.11"
114-
- os: ubuntu-latest-64-cores
115-
python-version: "3.9"
116-
cloud-provider: azure
117-
- os: ubuntu-latest-64-cores
118-
python-version: "3.9"
119-
cloud-provider: gcp
120-
- os: ubuntu-latest-64-cores
121-
python-version: "3.10"
122-
cloud-provider: aws
123-
- os: ubuntu-latest-64-cores
124-
python-version: "3.10"
125-
cloud-provider: gcp
126-
# only run windows with py3.10 on gcp
127-
- os: windows-latest-64-cores
128-
python-version: "3.9"
129-
- os: windows-latest-64-cores
130-
python-version: "3.10"
131-
- os: windows-latest-64-cores
132-
python-version: "3.11"
133-
cloud-provider: aws
134-
- os: windows-latest-64-cores
135-
python-version: "3.11"
136-
cloud-provider: azure
137-
# limit python 3.12 to one os per csp
138-
- os: macos-latest
139-
python-version: "3.12"
96+
# matrix is empty for pre-commit, tests are only added
97+
# through the include directive
98+
include:
99+
# only run py3.9 tests on ubuntu+aws to isolate 3.9 failures
100+
- python-version: "3.9"
101+
os: ubuntu-latest-64-cores
140102
cloud-provider: aws
141-
- os: macos-latest
142-
python-version: "3.12"
143-
cloud-provider: gcp
144-
- os: ubuntu-latest-64-cores
145-
python-version: "3.12"
146-
cloud-provider: azure
147-
- os: ubuntu-latest-64-cores
148-
python-version: "3.12"
149-
cloud-provider: gcp
150-
- os: windows-latest-64-cores
103+
# only run gcp tests with latest python and ubuntu
104+
- cloud-provider: gcp
151105
python-version: "3.12"
152-
cloud-provider: azure
153-
- os: windows-latest-64-cores
106+
os: ubuntu-latest-64-cores
107+
# only run azure tests with latest python and ubuntu
108+
- cloud-provider: azure
154109
python-version: "3.12"
110+
os: ubuntu-latest-64-cores
111+
# run py 3.12 tests on aws across all operating systems
112+
- python-version: "3.12"
113+
cloud-provider: aws
114+
os: ubuntu-latest-64-cores
115+
- python-version: "3.12"
155116
cloud-provider: aws
117+
os: macos-latest
118+
- python-version: "3.12"
119+
cloud-provider: aws
120+
os: windows-latest-64-cores
156121
steps:
157122
- name: Checkout Code
158123
uses: actions/checkout@v4
@@ -239,31 +204,9 @@ jobs:
239204
strategy:
240205
fail-fast: false
241206
matrix:
242-
os: [macos-latest, windows-latest, ubuntu-latest]
243-
python-version: ["3.9", "3.10", "3.11", "3.12" ]
207+
os: [ubuntu-latest]
208+
python-version: ["3.12"]
244209
cloud-provider: [aws]
245-
exclude:
246-
# only run each version on one os
247-
# daily-precommit does full matrix
248-
# macos runs 3.10
249-
- os: macos-latest
250-
python-version: "3.12"
251-
- os: macos-latest
252-
python-version: "3.11"
253-
- os: macos-latest
254-
python-version: "3.9"
255-
# windows runs 3.9 and 3.11
256-
- os: windows-latest
257-
python-version: "3.12"
258-
- os: windows-latest
259-
python-version: "3.10"
260-
# ubuntu runs 3.12
261-
- os: ubuntu-latest
262-
python-version: "3.11"
263-
- os: ubuntu-latest
264-
python-version: "3.10"
265-
- os: ubuntu-latest
266-
python-version: "3.9"
267210
steps:
268211
- name: Checkout Code
269212
uses: actions/checkout@v4
@@ -327,7 +270,7 @@ jobs:
327270
strategy:
328271
fail-fast: false
329272
matrix:
330-
os: [macos-latest, windows-latest, ubuntu-latest]
273+
os: [ubuntu-latest]
331274
# TODO SNOW-1763185 use py39 by default
332275
# Protobuf encoding differs per python version, use 3.8 by default.
333276
python-version: [ "3.11" ]
@@ -453,24 +396,8 @@ jobs:
453396
fail-fast: false
454397
matrix:
455398
os: [ ubuntu-latest ]
456-
python-version: [ "3.9", "3.11", "3.12" ]
457-
cloud-provider: [aws, gcp, azure]
458-
exclude:
459-
# Run 3.9 on aws
460-
- python-version: "3.11"
461-
cloud-provider: aws
462-
- python-version: "3.12"
463-
cloud-provider: aws
464-
# Run 3.11 on gcp
465-
- python-version: "3.9"
466-
cloud-provider: gcp
467-
- python-version: "3.12"
468-
cloud-provider: gcp
469-
# Run 3.12 on azure
470-
- python-version: "3.9"
471-
cloud-provider: azure
472-
- python-version: "3.11"
473-
cloud-provider: azure
399+
python-version: [ "3.12" ] # Test latest python
400+
cloud-provider: [aws] # Test only one csp
474401
steps:
475402
- name: Checkout Code
476403
uses: actions/checkout@v4
@@ -529,47 +456,31 @@ jobs:
529456
strategy:
530457
fail-fast: false
531458
matrix:
532-
os: [macos-latest, windows-latest-64-cores, ubuntu-latest-64-cores]
533-
python-version: [ "3.9", "3.10", "3.11" ]
534-
cloud-provider: [aws, gcp, azure]
535-
exclude:
536-
# only run macos with aws py3.9 for doctest
537-
- os: macos-latest
538-
python-version: "3.10"
539-
- os: macos-latest
540-
python-version: "3.11"
541-
- os: macos-latest
542-
python-version: "3.9"
543-
cloud-provider: azure
544-
- os: macos-latest
545-
python-version: "3.9"
546-
cloud-provider: gcp
547-
# only run ubuntu with py3.9 on aws and py3.10 on azure
548-
- os: ubuntu-latest-64-cores
549-
python-version: "3.11"
550-
- os: ubuntu-latest-64-cores
551-
python-version: "3.9"
552-
cloud-provider: azure
553-
- os: ubuntu-latest-64-cores
554-
python-version: "3.9"
555-
cloud-provider: gcp
556-
- os: ubuntu-latest-64-cores
557-
python-version: "3.10"
459+
# matrix is empty for pre-commit, tests are only added
460+
# through the include directive
461+
include:
462+
# only run py3.9 tests on ubuntu+aws to isolate 3.9 failures
463+
- python-version: "3.9"
464+
os: ubuntu-latest-64-cores
558465
cloud-provider: aws
559-
- os: ubuntu-latest-64-cores
560-
python-version: "3.10"
561-
cloud-provider: gcp
562-
# only run windows with py3.10 on gcp
563-
- os: windows-latest-64-cores
564-
python-version: "3.9"
565-
- os: windows-latest-64-cores
566-
python-version: "3.10"
567-
- os: windows-latest-64-cores
568-
python-version: "3.11"
466+
# only run gcp tests with latest python and ubuntu
467+
- cloud-provider: gcp
468+
python-version: "3.12"
469+
os: ubuntu-latest-64-cores
470+
# only run azure tests with latest python and ubuntu
471+
- cloud-provider: azure
472+
python-version: "3.12"
473+
os: ubuntu-latest-64-cores
474+
# run py 3.12 tests on aws across all operating systems
475+
- python-version: "3.12"
476+
cloud-provider: aws
477+
os: ubuntu-latest-64-cores
478+
- python-version: "3.12"
479+
cloud-provider: aws
480+
os: macos-latest
481+
- python-version: "3.12"
569482
cloud-provider: aws
570-
- os: windows-latest-64-cores
571-
python-version: "3.11"
572-
cloud-provider: azure
483+
os: windows-latest-64-cores
573484
steps:
574485
- name: Checkout Code
575486
uses: actions/checkout@v4

0 commit comments

Comments
 (0)