Skip to content

Commit 852cd87

Browse files
authored
V2 (#14)
* v2 init * update py typing file * fix spread function * fix timerwheel * add pytyped file * adaptive window lru * add adaptive tlfu tests * fix entry not remove from hashmap * bump pyo3 to 0.24.2 * fix * add debug method * remove not used tests * add version to pyproject * free threading * add keys method for tests * update ci * fix ci * update maturin version * update ci * update cargo version * 2.0.0rc1
1 parent 2d7652a commit 852cd87

File tree

16 files changed

+1257
-1855
lines changed

16 files changed

+1257
-1855
lines changed

.github/workflows/CI.yml

Lines changed: 153 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -26,76 +26,171 @@ jobs:
2626
command: test
2727

2828
linux:
29-
runs-on: ubuntu-latest
29+
runs-on: ${{ matrix.platform.runner }}
30+
strategy:
31+
matrix:
32+
platform:
33+
- runner: ubuntu-22.04
34+
target: x86_64
35+
- runner: ubuntu-22.04
36+
target: x86
37+
- runner: ubuntu-22.04
38+
target: aarch64
39+
- runner: ubuntu-22.04
40+
target: armv7
41+
- runner: ubuntu-22.04
42+
target: s390x
43+
- runner: ubuntu-22.04
44+
target: ppc64le
3045
steps:
31-
- uses: actions/checkout@v4
32-
- uses: PyO3/maturin-action@v1
33-
with:
34-
manylinux: auto
35-
command: build
36-
args: --release --sdist -o dist --find-interpreter
37-
- name: Upload wheels
38-
uses: actions/upload-artifact@v4
39-
with:
40-
name: wheels-linux
41-
path: dist
46+
- uses: actions/checkout@v4
47+
- uses: actions/setup-python@v5
48+
with:
49+
python-version: |
50+
3.9
51+
3.10
52+
3.11
53+
3.12
54+
3.13
55+
- name: Build wheels
56+
uses: PyO3/maturin-action@v1
57+
with:
58+
target: ${{ matrix.platform.target }}
59+
args: --release --out dist --find-interpreter
60+
manylinux: auto
61+
- name: Build free-threaded wheels
62+
uses: PyO3/maturin-action@v1
63+
with:
64+
target: ${{ matrix.platform.target }}
65+
args: --release --out dist -i python3.13t
66+
manylinux: auto
67+
- name: Upload wheels
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: wheels-linux-${{ matrix.platform.target }}
71+
path: dist
4272

43-
windows:
44-
runs-on: windows-latest
73+
musllinux:
74+
runs-on: ${{ matrix.platform.runner }}
75+
strategy:
76+
matrix:
77+
platform:
78+
- runner: ubuntu-22.04
79+
target: x86_64
80+
- runner: ubuntu-22.04
81+
target: x86
82+
- runner: ubuntu-22.04
83+
target: aarch64
84+
- runner: ubuntu-22.04
85+
target: armv7
4586
steps:
46-
- uses: actions/checkout@v4
47-
- uses: PyO3/maturin-action@v1
48-
with:
49-
command: build
50-
args: --release -o dist --find-interpreter
51-
- name: Upload wheels
52-
uses: actions/upload-artifact@v4
53-
with:
54-
name: wheels-windows
55-
path: dist
87+
- uses: actions/checkout@v4
88+
- uses: actions/setup-python@v5
89+
with:
90+
python-version: |
91+
3.9
92+
3.10
93+
3.11
94+
3.12
95+
3.13
96+
- name: Build wheels
97+
uses: PyO3/maturin-action@v1
98+
with:
99+
target: ${{ matrix.platform.target }}
100+
args: --release --out dist --find-interpreter
101+
manylinux: musllinux_1_2
102+
- name: Build free-threaded wheels
103+
uses: PyO3/maturin-action@v1
104+
with:
105+
target: ${{ matrix.platform.target }}
106+
args: --release --out dist -i python3.13t
107+
manylinux: musllinux_1_2
108+
- name: Upload wheels
109+
uses: actions/upload-artifact@v4
110+
with:
111+
name: wheels-musllinux-${{ matrix.platform.target }}
112+
path: dist
56113

57-
macos:
58-
runs-on: macos-latest
114+
windows:
115+
runs-on: ${{ matrix.platform.runner }}
116+
strategy:
117+
matrix:
118+
platform:
119+
- runner: windows-latest
120+
target: x64
121+
- runner: windows-latest
122+
target: x86
59123
steps:
60-
- uses: actions/checkout@v4
61-
- uses: actions/setup-python@v5
62-
with:
63-
python-version: |
64-
3.9
65-
3.10
66-
3.11
67-
3.12
68-
3.13
69-
- uses: PyO3/maturin-action@v1
70-
with:
71-
command: build
72-
args: --release -o dist --find-interpreter
73-
- name: Upload wheels
74-
uses: actions/upload-artifact@v4
75-
with:
76-
name: wheels-macos
77-
path: dist
124+
- uses: actions/checkout@v4
125+
- uses: actions/setup-python@v5
126+
with:
127+
python-version: |
128+
3.9
129+
3.10
130+
3.11
131+
3.12
132+
3.13
133+
architecture: ${{ matrix.platform.target }}
134+
- name: Build wheels
135+
uses: PyO3/maturin-action@v1
136+
with:
137+
target: ${{ matrix.platform.target }}
138+
args: --release --out dist --find-interpreter
139+
- uses: actions/setup-python@v5
140+
with:
141+
python-version: 3.13t
142+
architecture: ${{ matrix.platform.target }}
143+
- name: Build free-threaded wheels
144+
uses: PyO3/maturin-action@v1
145+
with:
146+
target: ${{ matrix.platform.target }}
147+
args: --release --out dist -i python3.13t
148+
- name: Upload wheels
149+
uses: actions/upload-artifact@v4
150+
with:
151+
name: wheels-windows-${{ matrix.platform.target }}
152+
path: dist
78153

79-
arm:
80-
runs-on: ubuntu-22.04-arm
154+
macos:
155+
runs-on: ${{ matrix.platform.runner }}
156+
strategy:
157+
matrix:
158+
platform:
159+
- runner: macos-13
160+
target: x86_64
161+
- runner: macos-14
162+
target: aarch64
81163
steps:
82-
- uses: actions/checkout@v4
83-
- uses: PyO3/maturin-action@v1
84-
with:
85-
manylinux: auto
86-
command: build
87-
args: --release --sdist -o dist --find-interpreter
88-
- name: Upload wheels
89-
uses: actions/upload-artifact@v4
90-
with:
91-
name: wheels-arm-linux
92-
path: dist
164+
- uses: actions/checkout@v4
165+
- uses: actions/setup-python@v5
166+
with:
167+
python-version: |
168+
3.9
169+
3.10
170+
3.11
171+
3.12
172+
3.13
173+
- name: Build wheels
174+
uses: PyO3/maturin-action@v1
175+
with:
176+
target: ${{ matrix.platform.target }}
177+
args: --release --out dist --find-interpreter
178+
- name: Build free-threaded wheels
179+
uses: PyO3/maturin-action@v1
180+
with:
181+
target: ${{ matrix.platform.target }}
182+
args: --release --out dist -i python3.13t
183+
- name: Upload wheels
184+
uses: actions/upload-artifact@v4
185+
with:
186+
name: wheels-macos-${{ matrix.platform.target }}
187+
path: dist
93188

94189
release:
95190
name: Release
96191
runs-on: ubuntu-latest
97192
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag == 'release' }}
98-
needs: [ macos, windows, linux, arm ]
193+
needs: [linux, musllinux, windows, macos]
99194
steps:
100195
- uses: actions/download-artifact@v4
101196
with:

0 commit comments

Comments
 (0)