88 push :
99
1010jobs :
11- # build_linux:
12- # name: 'Linux variants'
13- # strategy:
14- # matrix:
15- # include:
16- # - arch: x64
17- # docker_image: 'pmeira/manylinux_wheel_fpc322_x86_64'
18- # extra_cmake_flags: ''
19- # klusolve_linux32: ''
20- # - arch: x86
21- # docker_image: 'pmeira/manylinux_wheel_fpc322_i686'
22- # extra_cmake_flags: '-DCMAKE_CXX_COMPILER_ARG1=-m32 -DCMAKE_C_COMPILER_ARG1=-m32'
23- # klusolve_linux32: linux32
24-
25- # runs-on: ubuntu-latest
26- # env:
27- # KLUSOLVE_OS: linux
28- # EIGEN_VERSION : "5.0.0"
29- # DOCKER_IMAGE: ${{ matrix.docker_image }}
30- # KLUSOLVE_ARCH: ${{ matrix.arch }}
31- # KLUSOLVE_EXTRA_CMAKE_FLAGS: ${{ matrix.extra_cmake_flags }}
32- # KLUSOLVE_LINUX32: ${{ matrix.klusolve_linux32 }}
33- # steps:
34- # - uses: "actions/checkout@v4"
35- # with:
36- # fetch-depth: 0
37- # path: 'klusolve'
38-
39- # - name: 'Setup Docker'
40- # run: |
41- # docker pull $DOCKER_IMAGE
42-
43- # - name: 'Download dependencies'
44- # run: |
45- # klusolve/ci/download_deps.sh
46-
47- # - name: Build
48- # run: |
49- # docker run --rm -v `pwd`:/io -e KLUSOLVE_WORK_DIR=/io -e GITHUB_REF -e KLUSOLVE_OS -e KLUSOLVE_ARCH -e EIGEN_VERSION -e KLUSOLVE_EXTRA_CMAKE_FLAGS $DOCKER_IMAGE ${KLUSOLVE_LINUX32} bash /io/klusolve/ci/build_unix.sh
50- # cd klusolve
51- # ls -lR lib
52- # bash ci/pack.sh
53-
54- # - name: 'Upload artifacts'
55- # uses: "actions/upload-artifact@v4"
56- # #if: github.event_name == 'release' && github.event.action == 'created'
57- # with:
58- # name: 'development-build-linux_${{ matrix.arch }}'
59- # path: '${{ github.workspace }}/klusolve/release/*.tar.gz'
11+ build_linux :
12+ name : ' Linux variants'
13+ strategy :
14+ matrix :
15+ include :
16+ - arch : x64
17+ docker_image : ' pmeira/manylinux_wheel_fpc322_x86_64'
18+ extra_cmake_flags : ' '
19+ klusolve_linux32 : ' '
20+ - arch : x86
21+ docker_image : ' pmeira/manylinux_wheel_fpc322_i686'
22+ extra_cmake_flags : ' -DCMAKE_CXX_COMPILER_ARG1=-m32 -DCMAKE_C_COMPILER_ARG1=-m32'
23+ klusolve_linux32 : linux32
24+
25+ runs-on : ubuntu-latest
26+ env :
27+ KLUSOLVE_OS : linux
28+ EIGEN_VERSION : " 5.0.0"
29+ DOCKER_IMAGE : ${{ matrix.docker_image }}
30+ KLUSOLVE_ARCH : ${{ matrix.arch }}
31+ KLUSOLVE_EXTRA_CMAKE_FLAGS : ${{ matrix.extra_cmake_flags }}
32+ KLUSOLVE_LINUX32 : ${{ matrix.klusolve_linux32 }}
33+ steps :
34+ - uses : " actions/checkout@v4"
35+ with :
36+ fetch-depth : 0
37+ path : ' klusolve'
38+
39+ - name : ' Setup Docker'
40+ run : |
41+ docker pull $DOCKER_IMAGE
42+
43+ - name : ' Download dependencies'
44+ run : |
45+ klusolve/ci/download_deps.sh
46+
47+ - name : Build
48+ run : |
49+ docker run --rm -v `pwd`:/io -e KLUSOLVE_WORK_DIR=/io -e GITHUB_REF -e KLUSOLVE_OS -e KLUSOLVE_ARCH -e EIGEN_VERSION -e KLUSOLVE_EXTRA_CMAKE_FLAGS $DOCKER_IMAGE ${KLUSOLVE_LINUX32} bash /io/klusolve/ci/build_unix.sh
50+ cd klusolve
51+ ls -lR lib
52+ bash ci/pack.sh
53+
54+ - name : ' Upload artifacts'
55+ uses : " actions/upload-artifact@v4"
56+ # if: github.event_name == 'release' && github.event.action == 'created'
57+ with :
58+ name : ' development-build-linux_${{ matrix.arch }}'
59+ path : ' ${{ github.workspace }}/klusolve/release/*.tar.gz'
6060
6161
6262 build_macos :
@@ -103,71 +103,71 @@ jobs:
103103 path : ' ${{ github.workspace }}/klusolve/release/*.tar.gz'
104104
105105
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
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
145145
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-*
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-*
0 commit comments