Skip to content

Commit 8d9ed9a

Browse files
Add e2e Testing for free threaded and Bump @action/cache from 4.0.0 to 4.0.3 (#1056)
* include freethread e2e testing and upgrade cache from 4.0.0 to 4.0.2 * include verify gil step and validated python version * Rename files * include ubuntu-arm runners for testing
1 parent 19e4675 commit 8d9ed9a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1355
-10660
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
name: e2e-cache freethread
2+
3+
on:
4+
pull_request:
5+
paths-ignore:
6+
- '**.md'
7+
push:
8+
branches:
9+
- main
10+
- releases/*
11+
paths-ignore:
12+
- '**.md'
13+
workflow_dispatch:
14+
15+
permissions:
16+
contents: read
17+
jobs:
18+
python-pip-dependencies-caching:
19+
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
20+
runs-on: ${{ matrix.os }}
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
os:
25+
[
26+
ubuntu-latest,
27+
ubuntu-22.04,
28+
ubuntu-24.04-arm,
29+
ubuntu-22.04-arm,
30+
windows-latest,
31+
macos-latest,
32+
macos-13
33+
]
34+
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
35+
steps:
36+
- uses: actions/checkout@v4
37+
- name: Setup Python
38+
uses: ./
39+
with:
40+
python-version: ${{ matrix.python-version }}
41+
cache: 'pip'
42+
- name: Install dependencies
43+
run: pip install numpy pandas requests
44+
45+
python-pipenv-dependencies-caching:
46+
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }})
47+
runs-on: ${{ matrix.os }}
48+
strategy:
49+
fail-fast: false
50+
matrix:
51+
os:
52+
[
53+
ubuntu-latest,
54+
ubuntu-24.04-arm,
55+
ubuntu-22.04,
56+
ubuntu-22.04-arm,
57+
windows-latest,
58+
macos-latest,
59+
macos-13
60+
]
61+
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
62+
steps:
63+
- uses: actions/checkout@v4
64+
- name: Setup Python
65+
id: cache-pipenv
66+
uses: ./
67+
with:
68+
python-version: ${{ matrix.python-version }}
69+
cache: 'pipenv'
70+
- name: Install pipenv
71+
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
72+
- name: Install dependencies
73+
run: pipenv install requests
74+
75+
python-poetry-dependencies-caching:
76+
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
77+
runs-on: ${{ matrix.os }}
78+
strategy:
79+
fail-fast: false
80+
matrix:
81+
os:
82+
[
83+
ubuntu-latest,
84+
ubuntu-22.04,
85+
ubuntu-24.04-arm,
86+
ubuntu-22.04-arm,
87+
windows-latest,
88+
macos-latest,
89+
macos-13
90+
]
91+
python-version: [3.13.0, 3.13.1, 3.13.2]
92+
steps:
93+
- uses: actions/checkout@v4
94+
- name: Install poetry
95+
run: pipx install poetry
96+
- name: Init pyproject.toml
97+
run: mv ./__tests__/data/pyproject.toml .
98+
- name: Setup Python
99+
uses: ./
100+
with:
101+
python-version: ${{ matrix.python-version }}
102+
freethreaded: true
103+
cache: 'poetry'
104+
- name: Install dependencies
105+
run: poetry install --no-root
106+
107+
python-pip-dependencies-caching-path:
108+
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
109+
runs-on: ${{ matrix.os }}
110+
strategy:
111+
fail-fast: false
112+
matrix:
113+
os:
114+
[
115+
ubuntu-latest,
116+
ubuntu-22.04,
117+
ubuntu-24.04-arm,
118+
ubuntu-22.04-arm,
119+
windows-latest,
120+
macos-latest,
121+
macos-13
122+
]
123+
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
124+
steps:
125+
- uses: actions/checkout@v4
126+
- name: Setup Python
127+
uses: ./
128+
with:
129+
python-version: ${{ matrix.python-version }}
130+
cache: 'pip'
131+
cache-dependency-path: __tests__/data/requirements.txt
132+
- name: Install dependencies
133+
run: pip install numpy pandas requests
134+
135+
python-pipenv-dependencies-caching-path:
136+
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
137+
runs-on: ${{ matrix.os }}
138+
strategy:
139+
fail-fast: false
140+
matrix:
141+
os:
142+
[
143+
ubuntu-latest,
144+
ubuntu-22.04,
145+
ubuntu-24.04-arm,
146+
ubuntu-22.04-arm,
147+
windows-latest,
148+
macos-latest,
149+
macos-13
150+
]
151+
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
152+
steps:
153+
- uses: actions/checkout@v4
154+
- name: Setup Python
155+
id: cache-pipenv
156+
uses: ./
157+
with:
158+
python-version: ${{ matrix.python-version }}
159+
cache: 'pipenv'
160+
cache-dependency-path: '**/pipenv-requirements.txt'
161+
- name: Install pipenv
162+
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
163+
- name: Install dependencies
164+
run: pipenv install requests

.github/workflows/e2e-cache.yml

+109-10
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,30 @@ jobs:
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
25-
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
24+
os:
25+
[
26+
ubuntu-latest,
27+
ubuntu-24.04-arm,
28+
ubuntu-22.04,
29+
ubuntu-22.04-arm,
30+
windows-latest,
31+
macos-latest,
32+
macos-13
33+
]
34+
python-version:
35+
[
36+
'3.9',
37+
'pypy-3.9-v7.x',
38+
'3.10',
39+
'pypy-3.10-v7.x',
40+
'3.11',
41+
'pypy-3.11-v7.x',
42+
'3.12',
43+
'3.13'
44+
]
45+
exclude:
46+
- os: windows-latest
47+
python-version: pypy-3.11-v7.x
2648
steps:
2749
- uses: actions/checkout@v4
2850
- name: Setup Python
@@ -39,8 +61,25 @@ jobs:
3961
strategy:
4062
fail-fast: false
4163
matrix:
42-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
43-
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
64+
os:
65+
[
66+
ubuntu-latest,
67+
ubuntu-24.04-arm,
68+
ubuntu-22.04,
69+
ubuntu-22.04-arm,
70+
windows-latest,
71+
macos-latest,
72+
macos-13
73+
]
74+
python-version:
75+
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
76+
exclude:
77+
- os: windows-latest
78+
python-version: pypy-3.11-v7.x
79+
- os: ubuntu-22.04
80+
python-version: pypy-3.11-v7.x
81+
- os: ubuntu-22.04-arm
82+
python-version: pypy-3.11-v7.x
4483
steps:
4584
- uses: actions/checkout@v4
4685
- name: Setup Python
@@ -75,8 +114,27 @@ jobs:
75114
strategy:
76115
fail-fast: false
77116
matrix:
78-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
79-
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
117+
os:
118+
[
119+
ubuntu-latest,
120+
ubuntu-24.04-arm,
121+
ubuntu-22.04,
122+
ubuntu-22.04-arm,
123+
windows-latest,
124+
macos-latest,
125+
macos-13
126+
]
127+
python-version:
128+
[
129+
'3.9',
130+
'pypy-3.9-v7.x',
131+
'3.10',
132+
'pypy-3.10-v7.x',
133+
'3.11',
134+
'pypy-3.11-v7.x',
135+
'3.12',
136+
'3.13'
137+
]
80138
steps:
81139
- uses: actions/checkout@v4
82140
- name: Install poetry
@@ -97,8 +155,30 @@ jobs:
97155
strategy:
98156
fail-fast: false
99157
matrix:
100-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
101-
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
158+
os:
159+
[
160+
ubuntu-latest,
161+
ubuntu-24.04-arm,
162+
ubuntu-22.04,
163+
ubuntu-22.04-arm,
164+
windows-latest,
165+
macos-latest,
166+
macos-13
167+
]
168+
python-version:
169+
[
170+
'3.9',
171+
'pypy-3.9-v7.x',
172+
'3.10',
173+
'pypy-3.10-v7.x',
174+
'3.11',
175+
'pypy-3.11-v7.x',
176+
'3.12',
177+
'3.13'
178+
]
179+
exclude:
180+
- os: windows-latest
181+
python-version: pypy-3.11-v7.x
102182
steps:
103183
- uses: actions/checkout@v4
104184
- name: Setup Python
@@ -116,8 +196,27 @@ jobs:
116196
strategy:
117197
fail-fast: false
118198
matrix:
119-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
120-
python-version: ['3.9', 'pypy-3.9-v7.x', '3.10', 'pypy-3.10-v7.x']
199+
os:
200+
[
201+
ubuntu-latest,
202+
ubuntu-24.04-arm,
203+
ubuntu-22.04,
204+
ubuntu-22.04-arm,
205+
windows-latest,
206+
macos-latest,
207+
macos-13
208+
]
209+
python-version:
210+
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
211+
exclude:
212+
- os: windows-latest
213+
python-version: pypy-3.11-v7.x
214+
- os: ubuntu-22.04
215+
python-version: pypy-3.11-v7.x
216+
- os: ubuntu-22.04-arm
217+
python-version: pypy-3.10-v7.x
218+
- os: ubuntu-22.04-arm
219+
python-version: pypy-3.11-v7.x
121220
steps:
122221
- uses: actions/checkout@v4
123222
- name: Setup Python

.github/workflows/e2e-tests.yml

+2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ jobs:
2222
ubuntu-20.04,
2323
windows-latest,
2424
ubuntu-22.04,
25+
ubuntu-22.04-arm,
2526
ubuntu-latest,
27+
ubuntu-24.04-arm,
2628
macos-latest,
2729
macos-13
2830
]

.github/workflows/test-graalpy.yml

+20-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,16 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
os: [macos-latest, ubuntu-20.04, ubuntu-latest, macos-13]
21+
os:
22+
[
23+
macos-latest,
24+
ubuntu-20.04,
25+
ubuntu-22.04,
26+
ubuntu-22.04-arm,
27+
ubuntu-24.04-arm,
28+
ubuntu-latest,
29+
macos-13
30+
]
2231
graalpy:
2332
- 'graalpy-22.3'
2433
- 'graalpy-23.0'
@@ -65,7 +74,16 @@ jobs:
6574
strategy:
6675
fail-fast: false
6776
matrix:
68-
os: [macos-latest, ubuntu-20.04, ubuntu-latest, macos-13]
77+
os:
78+
[
79+
macos-latest,
80+
ubuntu-20.04,
81+
ubuntu-22.04,
82+
ubuntu-22.04-arm,
83+
ubuntu-24.04-arm,
84+
ubuntu-latest,
85+
macos-13
86+
]
6987
graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1']
7088

7189
steps:

0 commit comments

Comments
 (0)