3434 fail-fast : false
3535 matrix :
3636 python-version : ["3.9", "3.13"]
37- runs-on : [ubuntu-latest, ubuntu-24.04-arm, macos-latest] # , windows-latest]
37+ runs-on : [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest, windows-11-arm ]
3838 arch : [auto64]
39+ exclude :
40+ - runs-on : windows-11-arm
41+ python-version : " 3.9"
42+
3943 steps :
4044 - uses : actions/checkout@v4
4145 with :
@@ -46,27 +50,33 @@ jobs:
4650 with :
4751 python-version : ${{ matrix.python-version }}
4852
49- - name : Install compiler tools on windows
53+ - if : matrix.runs-on == 'windows-11-arm'
54+ name : Install rustup on Windows ARM
55+ shell : sh
56+ run : |
57+ curl -LOs https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe
58+ ./rustup-init.exe -y --default-toolchain none --no-modify-path
59+ echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH"
60+ - uses : actions-rust-lang/setup-rust-toolchain@v1
61+
62+ - name : Install extra deps on windows
5063 if : runner.os == 'windows'
5164 run : |
52- Install-Module -Name 7Zip4Powershell -Force
5365 Invoke-Webrequest -Uri https://archives.boost.io/release/1.88.0/source/boost_1_88_0.zip -OutFile boost_1_88_0.zip
5466 Invoke-Webrequest -Uri https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1.zip -OutFile CGAL-6.0.1.zip
55- Invoke-Webrequest -Uri https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1-win64-auxiliary-libraries-gmp-mpfr.zip -OutFile cgal_auxlibs.zip
56- Expand-7Zip boost_1_88_0.zip .\boost_1_88_0
57- Expand-7Zip CGAL-6.0.1.zip .\CGAL-6.0.1
58- Expand-7Zip cgal_auxlibs.zip .\cgal_auxlibs
59- vcpkg.exe install getopt
67+ Expand-Archive boost_1_88_0.zip .\boost_1_88_0
68+ Expand-Archive CGAL-6.0.1.zip .\CGAL-6.0.1
6069
61- - name : Install compiler tools on macOS
70+ - name : Install extra deps on macOS
6271 if : runner.os == 'macOS'
6372 run : |
64- brew reinstall gfortran
65- brew install swig boost cgal gmp mpfr
73+ brew install --ignore-dependencies swig boost cgal
6674
6775 - name : Install extra deps on Linux
6876 if : runner.os == 'Linux'
69- run : sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev
77+ run : |
78+ sudo apt-get update
79+ sudo apt-get install -y libboost-dev swig libcgal-dev
7080
7181 - name : Install package (macOS)
7282 if : runner.os == 'macOS'
@@ -85,17 +95,13 @@ jobs:
8595 if : runner.os == 'windows'
8696 run : |
8797 $Env:Path
88- $Env:GMP_INC_DIR = "${PWD}\cgal_auxlibs\auxiliary\gmp\include"
89- $Env:GMP_LIB_DIR = "${PWD}\cgal_auxlibs\auxiliary\gmp\lib"
90- $Env:MPFR_INC_DIR = "${PWD}\cgal_auxlibs\auxiliary\gmp\include"
91- $Env:MPFR_LIB_DIR = "${PWD}\cgal_auxlibs\auxiliary\gmp\lib"
92- $Env:CMAKE_PREFIX_PATH = "C:\vcpkg\packages\getopt-win32_x64-windows\share\unofficial-getopt-win32;$Env:CMAKE_PREFIX_PATH"
93- python -m pip install '.[test]' -v -C"cmake.define.GMP_DLL_TO_COPY"="C:\\a\\fastjet\\fastjet\\cgal_auxlibs\\auxiliary\\gmp\\bin\\gmp-10.dll" -C"cmake.define.Boost_INCLUDE_DIR"="${PWD}\boost_1_88_0\boost_1_88_0" -C"cmake.define.CGAL_DIR"="${PWD}\CGAL-6.0.1\CGAL-6.0.1" -C"cmake.define.FASTJET_ENABLE_DEBUG"="OFF" -C"cmake.define.SISCONE_ENABLE_DEBUG"="OFF" -C"cmake.define.FASTJET_ENABLE_CGAL"="ON"
98+ python -m pip install '.[test]' -v -C"cmake.define.Boost_INCLUDE_DIR"="${{ github.workspace }}\boost_1_88_0\boost_1_88_0" -C"cmake.define.CGAL_DIR"="${{ github.workspace }}\CGAL-6.0.1\CGAL-6.0.1" -C"cmake.define.FASTJET_ENABLE_CGAL"="ON"
9499
95100 - name : List installed Python packages
96101 run : python -m pip list
97102
98103 - name : Test package
104+ if : matrix.runs-on != 'windows-11-arm'
99105 run : python -m pytest -vv -rs -Wd
100106
101107 test_wheels :
@@ -104,7 +110,7 @@ jobs:
104110 strategy :
105111 fail-fast : false
106112 matrix :
107- os : [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-13] # , windows-latest]
113+ os : [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-13, windows-latest, windows-11-arm ]
108114 python : [313]
109115 arch : [auto64]
110116
@@ -114,68 +120,33 @@ jobs:
114120 submodules : recursive
115121 fetch-depth : 0
116122
117- - name : Install compiler tools on macOS
123+ - name : Install extra deps on macOS
118124 if : runner.os == 'macOS'
119125 run : |
120126 echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV"
121- brew uninstall --force --ignore-dependencies gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp
122- brew install --ignore-dependencies m4 make automake autoconf libtool swig boost cgal
127+ brew install --ignore-dependencies swig boost cgal
123128 echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV"
124129
125- - name : Install compiler tools on windows
130+ - if : matrix.os == 'windows-11-arm'
131+ name : Install rustup on Windows ARM
132+ shell : sh
133+ run : |
134+ curl -LOs https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe
135+ ./rustup-init.exe -y --default-toolchain none --no-modify-path
136+ echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH"
137+ - uses : actions-rust-lang/setup-rust-toolchain@v1
138+
139+ - name : Install extra deps on windows
126140 if : runner.os == 'windows'
127141 run : |
128- Install-Module -Name 7Zip4Powershell -Force
129142 Invoke-Webrequest -Uri https://archives.boost.io/release/1.88.0/source/boost_1_88_0.zip -OutFile boost_1_88_0.zip
130143 Invoke-Webrequest -Uri https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1.zip -OutFile CGAL-6.0.1.zip
131- Invoke-Webrequest -Uri https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1-win64-auxiliary-libraries-gmp-mpfr.zip -OutFile cgal_auxlibs.zip
132- Expand-7Zip boost_1_88_0.zip .\boost_1_88_0
133- Expand-7Zip CGAL-6.0.1.zip .\CGAL-6.0.1
134- Expand-7Zip cgal_auxlibs.zip .\cgal_auxlibs
135- vcpkg.exe install getopt
144+ Expand-Archive -Path boost_1_88_0.zip -DestinationPath .\boost_1_88_0
145+ Expand-Archive -Path CGAL-6.0.1.zip -DestinationPath .\CGAL-6.0.1
136146
137147 - name : Install extra deps on Linux
138148 if : runner.os == 'Linux'
139- run : sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev
140-
141- - name : Clone gmp
142- if : runner.os == 'macOS'
143- uses : actions/checkout@v4
144- with :
145- repository : gmp-mirror/gmp-6.3
146- path : gmp-6.3
147-
148- - name : Build gmp from source for MACOSX_DEPLOYMENT_TARGET=11.0
149- if : runner.os == 'macOS'
150- working-directory : gmp-6.3
151- run : |
152- brew install texinfo
153- autoreconf -i -f
154- ./configure --help
155- ./configure \
156- --prefix=$(brew --prefix) \
157- --enable-cxx
158- touch ./doc/version.texi
159- make --jobs
160- make install
161-
162- - name : Get mpfr release
163- if : runner.os == 'macOS'
164- run : |
165- curl -Lk https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.gz -o mpfr-4.2.2.tar.gz
166- tar -xzf mpfr-4.2.2.tar.gz
167-
168- - name : Build mpfr from source for MACOSX_DEPLOYMENT_TARGET=11.0
169- if : runner.os == 'macOS'
170- working-directory : mpfr-4.2.2
171- run : |
172- autoreconf -i -f
173- ./configure --help
174- ./configure \
175- --prefix=$(brew --prefix) \
176- --with-gmp=$(brew --prefix)
177- make --jobs
178- make install
149+ run : sudo apt-get update && sudo apt-get install -y libboost-dev swig libcgal-dev
179150
180151181152 env :
@@ -185,15 +156,9 @@ jobs:
185156 CIBW_CONFIG_SETTINGS : >
186157 "cmake.define.FASTJET_ENABLE_CGAL"="ON"
187158 CIBW_CONFIG_SETTINGS_WINDOWS : >
188- "cmake.define.GMP_DLL_TO_COPY"="C:\\\\a\\\\fastjet\\\\fastjet\\\\cgal_auxlibs\\\\auxiliary\\\\gmp\\\\bin\\\\gmp-10.dll"
189- "cmake.define.Boost_INCLUDE_DIR"="C:\a\fastjet\fastjet\boost_1_88_0\boost_1_88_0"
190- "cmake.define.CGAL_DIR"="C:\a\fastjet\fastjet\CGAL-6.0.1\CGAL-6.0.1"
191- "cmake.define.unofficial-getopt-win32_DIR"="C:\vcpkg\packages\getopt-win32_x64-windows\share\unofficial-getopt-win32"
192- CIBW_ENVIRONMENT_WINDOWS : >
193- GMP_INC_DIR='C:\a\fastjet\fastjet\cgal_auxlibs\auxiliary\gmp\include'
194- GMP_LIB_DIR='C:\a\fastjet\fastjet\cgal_auxlibs\auxiliary\gmp\lib'
195- MPFR_INC_DIR='C:\a\fastjet\fastjet\cgal_auxlibs\auxiliary\gmp\include'
196- MPFR_LIB_DIR='C:\a\fastjet\fastjet\cgal_auxlibs\auxiliary\gmp\lib'
159+ "cmake.define.Boost_INCLUDE_DIR"="${{ github.workspace }}\boost_1_88_0\boost_1_88_0"
160+ "cmake.define.CGAL_DIR"="${{ github.workspace }}\CGAL-6.0.1\CGAL-6.0.1"
161+ "cmake.define.FASTJET_ENABLE_CGAL"="ON"
197162
198163 - name : Upload wheels
199164 uses : actions/upload-artifact@v4
0 commit comments