18
18
permissions :
19
19
contents : read
20
20
21
+ env :
22
+ PYO3_USE_ABI3_FORWARD_COMPATIBILITY : 1
23
+
21
24
jobs :
22
25
linux :
23
26
runs-on : ubuntu-latest
@@ -28,21 +31,34 @@ jobs:
28
31
# , aarch64, armv7]
29
32
steps :
30
33
- uses : actions/checkout@v3
31
- - uses : actions/setup-python@v4
34
+ - uses : actions/setup-python@v5
32
35
with :
33
36
python-version : ' 3.10'
37
+ - name : install uv
38
+ uses : astral-sh/setup-uv@v5
39
+ - name : Install talib
40
+ run : |
41
+ wget https://github.com/Yvictor/polars_ta_extension/releases/download/0.1.0/ta-lib-0.4.0-src.tar.gz
42
+ tar -xzf ta-lib-0.4.0-src.tar.gz
43
+ cd ta-lib
44
+ ./configure
45
+ make
46
+ sudo make install
47
+ cd ..
48
+ rm -rf ta-lib
49
+ env :
50
+ TA_INCLUDE_PATH : ${{ github.workspace }}/dependencies/include
51
+ TA_LIBRARY_PATH : ${{ github.workspace }}/dependencies/lib
34
52
- name : Test
35
53
run : |
36
- python -m pip install --upgrade pip
37
- pip install .[dev]
38
- pytest
54
+ uv run pytest
39
55
env :
40
56
DEPS_PATH : ${{ github.workspace }}/dependencies
41
57
TA_INCLUDE_PATH : ${{ github.workspace }}/dependencies/include
42
58
TA_LIBRARY_PATH : ${{ github.workspace }}/dependencies/lib
43
59
- name : Build wheels for x86_64
44
60
if : matrix.target == 'x86_64'
45
- uses : PyO3/maturin-action@v1
61
+ uses : PyO3/maturin-action@v1.46.0
46
62
with :
47
63
target : ${{ matrix.target }}
48
64
args : --release --out dist --find-interpreter
@@ -100,35 +116,47 @@ jobs:
100
116
name : wheels
101
117
path : dist
102
118
103
- # linux-arm:
104
- # runs-on: ubuntu-latest
105
- # strategy:
106
- # matrix:
107
- # target: [aarch64]
108
- # steps:
109
- # - uses: actions/checkout@v4
110
- # - uses: actions/setup-python@v4
111
- # with:
112
- # python-version: "3.10"
113
- # - name: Setup QEMU
114
- # uses: docker/setup-qemu-action@v1
115
- # - name: Build wheels
116
- # uses: PyO3/maturin-action@v1
117
- # with:
118
- # target: ${{ matrix.target }}
119
- # args: --release --out dist --find-interpreter
120
- # sccache: 'true'
121
- # container: ghcr.io/rust-cross/manylinux_2_28-cross:aarch64
122
- # rust-toolchain: stable-aarch64-unknown-linux-gnu
123
- # env:
124
- # DEPS_PATH: ${{ github.workspace }}/dependencies
125
- # TA_INCLUDE_PATH: ${{ github.workspace }}/dependencies/include
126
- # TA_LIBRARY_PATH: ${{ github.workspace }}/dependencies/lib
127
- # - name: Upload wheels
128
- # uses: actions/upload-artifact@v3
129
- # with:
130
- # name: wheels
131
- # path: dist
119
+ linux-arm :
120
+ runs-on : ubuntu-24.04-arm
121
+ strategy :
122
+ matrix :
123
+ target : [aarch64]
124
+ # armv7l]
125
+ steps :
126
+ - uses : actions/checkout@v4
127
+ - uses : actions/setup-python@v5
128
+ with :
129
+ python-version : " 3.10"
130
+ - name : install uv
131
+ uses : astral-sh/setup-uv@v5
132
+ - name : install tools
133
+ run : |
134
+ uv tool install maturin
135
+ - name : Install talib
136
+ run : |
137
+ wget https://github.com/ta-lib/ta-lib/releases/download/v0.6.4/ta-lib-0.6.4-src.tar.gz
138
+ tar -xzf ta-lib-0.6.4-src.tar.gz
139
+ cd ta-lib-0.6.4
140
+ ./configure
141
+ make
142
+ sudo make install
143
+ cd ..
144
+ rm -rf ta-lib-0.6.4
145
+ env :
146
+ TA_INCLUDE_PATH : ${{ github.workspace }}/dependencies/include
147
+ TA_LIBRARY_PATH : ${{ github.workspace }}/dependencies/lib
148
+ - name : Build wheels
149
+ run : |
150
+ maturin build --release --out dist --find-interpreter
151
+ env :
152
+ DEPS_PATH : ${{ github.workspace }}/dependencies
153
+ TA_INCLUDE_PATH : ${{ github.workspace }}/dependencies/include
154
+ TA_LIBRARY_PATH : ${{ github.workspace }}/dependencies/lib
155
+ - name : Upload wheels
156
+ uses : actions/upload-artifact@v3
157
+ with :
158
+ name : wheels
159
+ path : dist
132
160
133
161
134
162
windows :
@@ -138,7 +166,7 @@ jobs:
138
166
target : [x64, x86]
139
167
steps :
140
168
- uses : actions/checkout@v3
141
- - uses : actions/setup-python@v4
169
+ - uses : actions/setup-python@v5
142
170
with :
143
171
python-version : ' 3.10'
144
172
architecture : ${{ matrix.target }}
@@ -150,6 +178,11 @@ jobs:
150
178
- uses : ilammy/msvc-dev-cmd@v1
151
179
with :
152
180
arch : ${{ matrix.target }}
181
+ - name : install uv
182
+ uses : astral-sh/setup-uv@v5
183
+ - name : install tools
184
+ run : |
185
+ uv tool install maturin
153
186
- name : Build wheels
154
187
uses : PyO3/maturin-action@v1
155
188
with :
@@ -173,14 +206,14 @@ jobs:
173
206
target : [x86_64, aarch64-apple-darwin]
174
207
steps :
175
208
- uses : actions/checkout@v3
176
- - uses : actions/setup-python@v4
209
+ - uses : actions/setup-python@v5
177
210
with :
178
211
python-version : ' 3.10'
179
- # - name: check python version
180
- # run: |
181
- # python --version
182
- # which python
183
- # python -m pip install -U pip
212
+ - name : install uv
213
+ uses : astral-sh/setup-uv@v5
214
+ - name : install tools
215
+ run : |
216
+ uv tool install maturin
184
217
- name : Build wheels
185
218
uses : PyO3/maturin-action@v1
186
219
with :
0 commit comments