|
6 | 6 | LLVM_VERSION: "18.1.0"
|
7 | 7 |
|
8 | 8 | jobs:
|
9 |
| - linux: |
10 |
| - name: Linux |
11 |
| - runs-on: ubuntu-20.04 |
12 |
| - env: |
13 |
| - INSTALL_PREFIX: "/opt/smelibs" |
14 |
| - SUDO_CMD: "sudo" |
15 |
| - TARGET_TRIPLE: "x86_64-unknown-linux-gnu" |
16 |
| - PYTHON_EXE: "/usr/bin/python3" |
17 |
| - OS: "linux" |
18 |
| - CC: "clang" |
19 |
| - CXX: "clang++" |
| 9 | + build: |
| 10 | + runs-on: ${{ matrix.os }} |
| 11 | + strategy: |
| 12 | + fail-fast: false |
| 13 | + matrix: |
| 14 | + include: |
| 15 | + - os: "ubuntu-20.04" |
| 16 | + shell: "bash" |
| 17 | + - os: "macos-13" |
| 18 | + shell: "bash" |
| 19 | + - os: "windows-2022" |
| 20 | + shell: "msys2 {0}" |
20 | 21 | defaults:
|
21 | 22 | run:
|
22 |
| - shell: bash |
| 23 | + shell: ${{ matrix.shell }} |
23 | 24 | steps:
|
24 |
| - - name: Add llvm repo for clang 18 & install |
25 |
| - run: | |
26 |
| - sudo wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - |
27 |
| - sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-18 main" |
28 |
| - sudo apt update -yy |
29 |
| - sudo apt install -yy clang-18 |
30 |
| - - name: Set clang version |
31 |
| - run: | |
32 |
| - sudo update-alternatives --remove-all clang || echo "nothing to remove" |
33 |
| - sudo update-alternatives --remove-all clang++ || echo "nothing to remove" |
34 |
| - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 |
35 |
| - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 |
| 25 | + - uses: spatial-model-editor/setup-ci@v1 |
36 | 26 | - uses: actions/checkout@v4
|
37 | 27 | - name: Build script
|
38 | 28 | run: ./build.sh
|
39 | 29 | - uses: actions/upload-artifact@v4
|
40 | 30 | with:
|
41 |
| - name: artifacts-linux |
42 |
| - path: ./artefacts/* |
43 |
| - |
44 |
| - macos: |
45 |
| - name: MacOS |
46 |
| - runs-on: macos-13 |
47 |
| - env: |
48 |
| - INSTALL_PREFIX: "/opt/smelibs" |
49 |
| - SUDO_CMD: "sudo" |
50 |
| - TARGET_TRIPLE: "x86_64-apple-darwin16" |
51 |
| - PYTHON_EXE: "/usr/bin/python3" |
52 |
| - MACOSX_DEPLOYMENT_TARGET: "11" |
53 |
| - OS: "osx" |
54 |
| - defaults: |
55 |
| - run: |
56 |
| - shell: bash |
57 |
| - steps: |
58 |
| - - uses: actions/checkout@v4 |
59 |
| - - uses: maxim-lobanov/setup-xcode@v1 |
60 |
| - with: |
61 |
| - xcode-version: "14.3" |
62 |
| - - name: Build script |
63 |
| - run: ./build.sh |
64 |
| - - uses: actions/upload-artifact@v4 |
65 |
| - with: |
66 |
| - name: artifacts-macos |
67 |
| - path: ./artefacts/* |
68 |
| - |
69 |
| - win64-mingw: |
70 |
| - name: Windows 64-bit Mingw |
71 |
| - runs-on: windows-2022 |
72 |
| - env: |
73 |
| - INSTALL_PREFIX: "/c/smelibs" |
74 |
| - SUDO_CMD: "" |
75 |
| - TARGET_TRIPLE: "x86_64-w64-windows-gnu" |
76 |
| - PYTHON_EXE: "/ucrt64/bin/python" |
77 |
| - OS: "win64-mingw" |
78 |
| - defaults: |
79 |
| - run: |
80 |
| - shell: msys2 {0} |
81 |
| - steps: |
82 |
| - - uses: actions/checkout@v4 |
83 |
| - - uses: msys2/setup-msys2@v2 |
84 |
| - with: |
85 |
| - msystem: UCRT64 |
86 |
| - update: true |
87 |
| - install: mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-python make |
88 |
| - - name: Build script |
89 |
| - run: ./build.sh |
90 |
| - - uses: actions/upload-artifact@v4 |
91 |
| - with: |
92 |
| - name: artifacts-win64-mingw |
| 31 | + name: artifacts-${{ matrix.os }} |
93 | 32 | path: ./artefacts/*
|
| 33 | + retention-days: 3 |
94 | 34 |
|
95 | 35 | release:
|
96 | 36 | name: Upload Binaries to GitHub Release
|
97 |
| - needs: [linux, macos, win64-mingw] |
| 37 | + needs: [build] |
98 | 38 | runs-on: ubuntu-latest
|
99 | 39 | permissions:
|
100 | 40 | contents: write
|
|
0 commit comments