Skip to content

Commit 83a2ce6

Browse files
committed
CI: Try ARM64
1 parent 3741cc2 commit 83a2ce6

1 file changed

Lines changed: 119 additions & 112 deletions

File tree

.github/workflows/builds.yml

Lines changed: 119 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Builds
22

3-
#TODO: Linux ARM64, Windows ARM64
3+
#TODO: Windows ARM64
44

55
on:
66
# release:
@@ -17,12 +17,19 @@ jobs:
1717
docker_image: 'pmeira/manylinux_wheel_fpc322_x86_64'
1818
extra_cmake_flags: ''
1919
klusolve_linux32: ''
20+
gh_image: ubuntu-latest
2021
- arch: x86
2122
docker_image: 'pmeira/manylinux_wheel_fpc322_i686'
2223
extra_cmake_flags: '-DCMAKE_CXX_COMPILER_ARG1=-m32 -DCMAKE_C_COMPILER_ARG1=-m32'
2324
klusolve_linux32: linux32
25+
gh_image: ubuntu-latest
26+
- arch: arm64
27+
docker_image: 'pmeira/manylinux_wheel_fpc322_aarch64'
28+
extra_cmake_flags: ''
29+
klusolve_linux32: ''
30+
gh_image: ubuntu-24.04-arm
2431

25-
runs-on: ubuntu-latest
32+
runs-on: ${{ matrix.gh_image }}
2633
env:
2734
KLUSOLVE_OS: linux
2835
EIGEN_VERSION : "5.0.0"
@@ -59,115 +66,115 @@ jobs:
5966
path: '${{ github.workspace }}/klusolve/release/*.tar.gz'
6067

6168

62-
build_macos:
63-
name: 'macOS variants'
64-
strategy:
65-
matrix:
66-
include:
67-
- os: macos-15-intel
68-
arch: x64
69-
extra_cmake_flags: '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'
70-
- os: macos-latest
71-
arch: arm64
72-
extra_cmake_flags: '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'
73-
74-
runs-on: ${{ matrix.os }}
75-
env:
76-
KLUSOLVE_OS: darwin
77-
KLUSOLVE_ARCH: ${{ matrix.arch }}
78-
EIGEN_VERSION : "5.0.0"
79-
KLUSOLVE_EXTRA_CMAKE_FLAGS: ${{ matrix.extra_cmake_flags }}
80-
steps:
81-
- uses: "actions/checkout@v4"
82-
with:
83-
fetch-depth: 0
84-
path: 'klusolve'
85-
86-
- name: Download dependencies
87-
run: |
88-
klusolve/ci/download_deps.sh
69+
# build_macos:
70+
# name: 'macOS variants'
71+
# strategy:
72+
# matrix:
73+
# include:
74+
# - os: macos-15-intel
75+
# arch: x64
76+
# extra_cmake_flags: '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'
77+
# - os: macos-latest
78+
# arch: arm64
79+
# extra_cmake_flags: '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'
80+
81+
# runs-on: ${{ matrix.os }}
82+
# env:
83+
# KLUSOLVE_OS: darwin
84+
# KLUSOLVE_ARCH: ${{ matrix.arch }}
85+
# EIGEN_VERSION : "5.0.0"
86+
# KLUSOLVE_EXTRA_CMAKE_FLAGS: ${{ matrix.extra_cmake_flags }}
87+
# steps:
88+
# - uses: "actions/checkout@v4"
89+
# with:
90+
# fetch-depth: 0
91+
# path: 'klusolve'
92+
93+
# - name: Download dependencies
94+
# run: |
95+
# klusolve/ci/download_deps.sh
8996

90-
- name: Build
91-
run: |
92-
export KLUSOLVE_WORK_DIR=`pwd`
93-
bash klusolve/ci/build_unix.sh
94-
cd ${KLUSOLVE_WORK_DIR}/klusolve
95-
ls -lR lib
96-
bash ci/pack.sh
97-
98-
- name: 'Upload artifacts'
99-
uses: "actions/upload-artifact@v4"
100-
#if: github.event_name == 'release' && github.event.action == 'created'
101-
with:
102-
name: 'development-build-darwin-${{matrix.os}}'
103-
path: '${{ github.workspace }}/klusolve/release/*.tar.gz'
104-
105-
106-
build_windows:
107-
name: 'Windows variants'
108-
strategy:
109-
matrix:
110-
os: [windows-2019, windows-2022]
111-
arch: ['x64', 'x86']
112-
compiler: ['msvc', 'gcc']
113-
exclude:
114-
# We don't need to build the same exact binary twice with GCC (since we install MinGW manually)
115-
- os: windows-2022
116-
compiler: gcc
117-
arch: x86
118-
119-
fail-fast: false
120-
121-
runs-on: ${{ matrix.os }}
122-
env:
123-
KLUSOLVE_OS: windows
124-
KLUSOLVE_OS_IMAGE: ${{ matrix.os }}
125-
KLUSOLVE_ARCH: ${{ matrix.arch }}
126-
KLUSOLVE_COMPILER: ${{ matrix.compiler }}
127-
EIGEN_VERSION: "5.0.0"
128-
steps:
129-
- uses: "actions/checkout@v4"
130-
with:
131-
fetch-depth: 0
132-
path: 'klusolve'
133-
134-
- name: 'Download dependencies'
135-
shell: bash
136-
run: |
137-
bash klusolve/ci/download_deps.sh
138-
139-
- name: Set up MinGW
140-
uses: egor-tensin/setup-mingw@v2
141-
if: matrix.arch == 'x86' && matrix.compiler == 'gcc'
142-
with:
143-
platform: x86
144-
version: 12.2.0
97+
# - name: Build
98+
# run: |
99+
# export KLUSOLVE_WORK_DIR=`pwd`
100+
# bash klusolve/ci/build_unix.sh
101+
# cd ${KLUSOLVE_WORK_DIR}/klusolve
102+
# ls -lR lib
103+
# bash ci/pack.sh
104+
105+
# - name: 'Upload artifacts'
106+
# uses: "actions/upload-artifact@v4"
107+
# #if: github.event_name == 'release' && github.event.action == 'created'
108+
# with:
109+
# name: 'development-build-darwin-${{matrix.os}}'
110+
# path: '${{ github.workspace }}/klusolve/release/*.tar.gz'
111+
112+
113+
# build_windows:
114+
# name: 'Windows variants'
115+
# strategy:
116+
# matrix:
117+
# os: [windows-2019, windows-2022]
118+
# arch: ['x64', 'x86']
119+
# compiler: ['msvc', 'gcc']
120+
# exclude:
121+
# # We don't need to build the same exact binary twice with GCC (since we install MinGW manually)
122+
# - os: windows-2022
123+
# compiler: gcc
124+
# arch: x86
125+
126+
# fail-fast: false
127+
128+
# runs-on: ${{ matrix.os }}
129+
# env:
130+
# KLUSOLVE_OS: windows
131+
# KLUSOLVE_OS_IMAGE: ${{ matrix.os }}
132+
# KLUSOLVE_ARCH: ${{ matrix.arch }}
133+
# KLUSOLVE_COMPILER: ${{ matrix.compiler }}
134+
# EIGEN_VERSION: "5.0.0"
135+
# steps:
136+
# - uses: "actions/checkout@v4"
137+
# with:
138+
# fetch-depth: 0
139+
# path: 'klusolve'
140+
141+
# - name: 'Download dependencies'
142+
# shell: bash
143+
# run: |
144+
# bash klusolve/ci/download_deps.sh
145+
146+
# - name: Set up MinGW
147+
# uses: egor-tensin/setup-mingw@v2
148+
# if: matrix.arch == 'x86' && matrix.compiler == 'gcc'
149+
# with:
150+
# platform: x86
151+
# version: 12.2.0
145152

146-
- name: Build
147-
shell: cmd
148-
run: |
149-
cd klusolve
150-
ci\build_win.bat
151-
152-
- name: Pack
153-
shell: bash
154-
run: |
155-
cd klusolve
156-
bash ci/pack.sh
157-
158-
- name: 'Upload artifacts'
159-
uses: "actions/upload-artifact@v4"
160-
#if: github.event_name == 'release' && github.event.action == 'created'
161-
with:
162-
name: 'development-build-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}'
163-
path: '${{ github.workspace }}/klusolve/release/*.zip'
164-
165-
merge:
166-
runs-on: ubuntu-latest
167-
needs: [build_linux, build_macos, build_windows]
168-
steps:
169-
- name: Merge Artifacts
170-
uses: actions/upload-artifact/merge@v4
171-
with:
172-
name: development-build
173-
pattern: development-build-*
153+
# - name: Build
154+
# shell: cmd
155+
# run: |
156+
# cd klusolve
157+
# ci\build_win.bat
158+
159+
# - name: Pack
160+
# shell: bash
161+
# run: |
162+
# cd klusolve
163+
# bash ci/pack.sh
164+
165+
# - name: 'Upload artifacts'
166+
# uses: "actions/upload-artifact@v4"
167+
# #if: github.event_name == 'release' && github.event.action == 'created'
168+
# with:
169+
# name: 'development-build-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}'
170+
# path: '${{ github.workspace }}/klusolve/release/*.zip'
171+
172+
# merge:
173+
# runs-on: ubuntu-latest
174+
# needs: [build_linux, build_macos, build_windows]
175+
# steps:
176+
# - name: Merge Artifacts
177+
# uses: actions/upload-artifact/merge@v4
178+
# with:
179+
# name: development-build
180+
# pattern: development-build-*

0 commit comments

Comments
 (0)