2828 strategy :
2929 fail-fast : true
3030 matrix :
31- os : [ubuntu-22.04, windows-latest, macos-14 ]
31+ os : [ubuntu-22.04, windows-latest, macos-latest ]
3232 runs-on : ${{ matrix.os }}
3333 steps :
3434 - uses : actions/checkout@v4
5353 strategy :
5454 fail-fast : true
5555 matrix :
56- os : [ubuntu-22.04, windows-latest, macos-14 ]
56+ os : [ubuntu-22.04, windows-latest, macos-latest ]
5757 python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
5858 runs-on : ${{ matrix.os }}
5959 steps :
@@ -85,73 +85,22 @@ jobs:
8585 pip install longport --no-index --find-links dist --force-reinstall
8686 python -c "import longport"
8787
88- build-python-sdk-macos :
88+ build-python :
8989 needs :
9090 - check-python-sdk
91- runs-on : macos-14
92- strategy :
93- fail-fast : true
94- matrix :
95- python :
96- - version : " 3.8"
97- universal2 : true
98- - version : " 3.9"
99- universal2 : true
100- - version : " 3.10"
101- universal2 : true
102- - version : " 3.11"
103- universal2 : true
104- - version : " 3.12"
105- universal2 : true
106- - version : " 3.13"
107- universal2 : true
108- - version : " 3.14"
109- universal2 : true
110- steps :
111- - name : Checkout
112- uses : actions/checkout@v4
113- with :
114- submodules : true
115- - uses : actions/setup-python@v5
116- with :
117- python-version : ${{ matrix.python.version }}
118- architecture : x64
119- - name : Install Rust toolchain
120- uses : dtolnay/rust-toolchain@stable
121- with :
122- toolchain : stable
123- - name : Build wheels - x86_64
124- uses : PyO3/maturin-action@v1
125- with :
126- target : x86_64
127- args : -i python --out dist -m python/Cargo.toml
128- - name : Install built wheel - x86_64
129- run : |
130- pip install longport --no-index --find-links dist --force-reinstall
131- - name : Build wheels - universal2
132- if : ${{ matrix.python.universal2 }}
133- uses : PyO3/maturin-action@v1
134- with :
135- args : -i python --target universal2-apple-darwin --out dist -m python/Cargo.toml
136- - name : Install built wheel - universal2
137- if : ${{ matrix.python.universal2 }}
138- run : |
139- pip install longport --no-index --find-links dist --force-reinstall
140- - name : Upload wheels
141- uses : actions/upload-artifact@v4
142- with :
143- name : wheels-macos-${{ matrix.python.version }}
144- path : dist
145-
146- build-python-sdk-windows :
147- needs :
148- - check-python-sdk
149- runs-on : windows-latest
91+ runs-on : ${{ matrix.runs-on }}
15092 strategy :
15193 fail-fast : true
15294 matrix :
15395 python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
154- target : [x64, x86]
96+ runs-on :
97+ [
98+ " windows-latest" ,
99+ " ubuntu-24.04" ,
100+ " ubuntu-24.04-arm" ,
101+ " macos-15" ,
102+ " macos-15-intel" ,
103+ ]
155104 steps :
156105 - name : Checkout
157106 uses : actions/checkout@v4
@@ -160,106 +109,21 @@ jobs:
160109 - uses : actions/setup-python@v5
161110 with :
162111 python-version : ${{ matrix.python-version }}
163- architecture : ${{ matrix.target }}
164112 - name : Install Rust toolchain
165113 uses : dtolnay/rust-toolchain@stable
166114 with :
167115 toolchain : stable
168116 - name : Build wheels
169117 uses : PyO3/maturin-action@v1
170118 with :
171- target : ${{ matrix.target }}
172119 args : -i python --out dist -m python/Cargo.toml
173120 - name : Install built wheel
174121 run : |
175122 pip install longport --no-index --find-links dist --force-reinstall
176- python -c "import longport"
177- - name : Upload wheels
178- uses : actions/upload-artifact@v4
179- with :
180- name : wheels-windows-${{ matrix.target }}-${{ matrix.python-version }}
181- path : dist
182-
183- build-python-sdk-linux :
184- needs :
185- - check-python-sdk
186- runs-on : ubuntu-22.04
187- strategy :
188- fail-fast : true
189- matrix :
190- python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
191- target : [x86_64, i686]
192- steps :
193- - name : Checkout
194- uses : actions/checkout@v4
195- with :
196- submodules : true
197- - uses : actions/setup-python@v5
198- with :
199- python-version : ${{ matrix.python-version }}
200- - name : Build wheels
201- uses : PyO3/maturin-action@v1
202- with :
203- target : ${{ matrix.target }}
204- manylinux : auto
205- args : -i python${{ matrix.python-version }} --out dist -m python/Cargo.toml
206- - name : Install built wheel
207- if : matrix.target == 'x86_64'
208- run : |
209- pip install longport --no-index --find-links dist --force-reinstall
210- python -c "import longport"
211- - name : Upload wheels
212- uses : actions/upload-artifact@v4
213- with :
214- name : wheels-linux-${{ matrix.target }}-${{ matrix.python-version }}
215- path : dist
216-
217- build-python-sdk-linux-cross :
218- needs :
219- - check-python-sdk
220- runs-on : ubuntu-22.04
221- strategy :
222- fail-fast : true
223- matrix :
224- python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
225- target : [aarch64]
226- steps :
227- - name : Checkout
228- uses : actions/checkout@v4
229- with :
230- submodules : true
231- - name : Build wheels
232- uses : PyO3/maturin-action@v1
233- with :
234- target : ${{ matrix.target }}
235- manylinux : 2_28
236- args : -i python${{ matrix.python-version }} --out dist -m python/Cargo.toml
237- - uses : uraimo/run-on-arch-action@v3
238- name : Install built wheel
239- with :
240- arch : none
241- distro : none
242- base_image : " --platform=linux/aarch64 ubuntu:22.04"
243- githubToken : ${{ github.token }}
244- dockerRunArgs : |
245- --volume "${PWD}/dist:/artifacts"
246- install : |
247- apt-get update
248- apt-get install -y --no-install-recommends python3 python3-venv software-properties-common gnupg
249- add-apt-repository ppa:deadsnakes/ppa
250- apt-get update
251- apt-get install -y curl python${{ matrix.python-version }}-venv
252- run : |
253- ls -lrth /artifacts
254- PYTHON=python${{ matrix.python-version }}
255- $PYTHON -m venv venv
256- venv/bin/pip install -U pip
257- venv/bin/pip install longport --no-index --find-links /artifacts --force-reinstall
258- venv/bin/python -c 'import longport'
259123 - name : Upload wheels
260124 uses : actions/upload-artifact@v4
261125 with :
262- name : wheels-linux- ${{ matrix.target }}-${{ matrix.python-version }}
126+ name : wheels-${{ matrix.runs-on }}-${{ matrix.python-version }}
263127 path : dist
264128
265129 check-nodejs-sdk :
@@ -269,58 +133,11 @@ jobs:
269133 fail-fast : true
270134 matrix :
271135 settings :
272- - host : ubuntu-22.04
273- docker : ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
274- build : |
275- rustup install 1.89.0
276- rustup default 1.89.0
277- yarn build:debug
278- strip -x *.node
279-
280- - host : ubuntu-22.04
281- docker : ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
282- build : |
283- rustup install 1.89.0
284- rustup default 1.89.0
285- rustup target add aarch64-unknown-linux-gnu
286- yarn build:debug --target aarch64-unknown-linux-gnu
287- aarch64-unknown-linux-gnu-strip *.node
288-
289- - host : macos-14
290- architecture : x64
291- build : |
292- rustup install 1.89.0
293- rustup default 1.89.0
294- yarn build:debug
295- strip -x *.node
296-
136+ - host : ubuntu-24.04
137+ - host : ubuntu-24.04-arm
138+ - host : macos-15
139+ - host : macos-15-intel
297140 - host : windows-latest
298- build : |
299- rustup install 1.89.0
300- rustup default 1.89.0
301- yarn build:debug
302- architecture : x64
303-
304- - host : ubuntu-22.04
305- build : |
306- rustup install 1.89.0
307- rustup default 1.89.0
308- yarn build:debug
309- strip *.node
310-
311- - host : macos-14
312- target : aarch64-apple-darwin
313- build : |
314- sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*;
315- export CC=$(xcrun -f clang);
316- export CXX=$(xcrun -f clang++);
317- SYSROOT=$(xcrun --sdk macosx --show-sdk-path);
318- export CFLAGS="-isysroot $SYSROOT -isystem $SYSROOT";
319- rustup install 1.89.0
320- rustup default 1.89.0
321- rustup target add aarch64-apple-darwin
322- yarn build:debug --target aarch64-apple-darwin
323- strip -x *.node
324141
325142 runs-on : ${{ matrix.settings.host }}
326143 steps :
@@ -329,12 +146,11 @@ jobs:
329146 submodules : true
330147
331148 - name : Setup node
332- uses : actions/setup-node@v4
149+ uses : actions/setup-node@v6
333150 if : ${{ !matrix.settings.docker }}
334151 with :
335- node-version : 20
152+ node-version : 24
336153 check-latest : true
337- architecture : ${{ matrix.settings.architecture }}
338154
339155 - name : Install Rust
340156 uses : dtolnay/rust-toolchain@stable
@@ -352,17 +168,14 @@ jobs:
352168 run : yarn install --ignore-scripts --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
353169
354170 - name : Build
355- if : ${{ ! matrix.settings.docker }}
171+ if : ${{ matrix.settings.host != 'macos-15' }}
356172 working-directory : nodejs
357- run : ${{ matrix.settings. build }}
173+ run : yarn build:debug
358174
359- - name : Build in Docker
360- uses : addnab/docker-run-action@v3
361- if : ${{ matrix.settings.docker }}
362- with :
363- image : ${{ matrix.settings.docker }}
364- options : " --user 0:0 -v ${{ github.workspace }}:/build -w /build/nodejs"
365- run : ${{ matrix.settings.build }}
175+ - name : Build
176+ if : ${{ matrix.settings.host == 'macos-15' }}
177+ working-directory : nodejs
178+ run : yarn build:debug --target aarch64-apple-darwin
366179
367180 - name : Move artifacts
368181 run : |
@@ -382,8 +195,8 @@ jobs:
382195 strategy :
383196 fail-fast : true
384197 matrix :
385- os : [ubuntu-22.04, windows-latest, macos-14 ]
386- java-version : ["8 "]
198+ os : [ubuntu-22.04, windows-latest, macos-latest ]
199+ java-version : ["11 "]
387200 runs-on : ${{ matrix.os }}
388201 steps :
389202 - uses : actions/checkout@v4
@@ -402,9 +215,6 @@ jobs:
402215 toolchain : stable
403216 components : rustfmt, clippy
404217
405- - name : Install cargo make
406- uses : davidB/rust-cargo-make@v1
407-
408218 - name : Check with clippy
409219 run : cargo clippy -p longport-java --all-features
410220
@@ -413,12 +223,17 @@ jobs:
413223 run : mvn package
414224
415225 check-cpp-sdk :
416- needs :
417- - check-format
418226 strategy :
419227 fail-fast : true
420228 matrix :
421- os : [ubuntu-22.04, windows-latest, macos-14]
229+ os :
230+ [
231+ ubuntu-24.04,
232+ ubuntu-24.04-arm,
233+ windows-latest,
234+ macos-15,
235+ macos-15-intel,
236+ ]
422237 runs-on : ${{ matrix.os }}
423238 steps :
424239 - uses : actions/checkout@v4
@@ -439,17 +254,25 @@ jobs:
439254 uses : lukka/get-cmake@latest
440255
441256 - name : Install cargo make
442- uses : davidB/rust- cargo-make@v1
257+ run : cargo install cargo -make
443258
444259 - name : Check with clippy
445260 run : cargo clippy -p longport-c --all-features
446261
447262 - name : Build with cmake
263+ if : ${{ matrix.os != 'macos-15' }}
448264 run : |
449265 cargo make cmake
450266 cargo make c
451267 cargo make cpp
452268
269+ - name : Build with cmake
270+ if : ${{ matrix.os == 'macos-15' }}
271+ run : |
272+ cargo make cmake-debug-macos-aarch64
273+ cargo make c
274+ cargo make cpp
275+
453276 check-ios-cpp-sdk :
454277 needs :
455278 - check-format
@@ -461,7 +284,7 @@ jobs:
461284 platform : OS64
462285 - target : aarch64-apple-ios-sim
463286 platform : SIMULATOR64
464- runs-on : macos-14
287+ runs-on : macos-latest
465288 steps :
466289 - uses : actions/checkout@v4
467290 with :
0 commit comments