77 branches : [main]
88
99jobs :
10- build :
11- strategy :
12- fail-fast : false
13- matrix :
14- include :
15- - name : linux
16- os : ubuntu-latest
17- shell : bash
18-
19- - name : macos
20- os : macos-latest
21- shell : bash
22-
23- - name : windows-x64
24- os : windows-latest
25- shell : msys2 {0}
26- msystem : CLANG64
27- msys_packages : >-
28- mingw-w64-clang-x86_64-toolchain
29- mingw-w64-clang-x86_64-cmake
30- mingw-w64-clang-x86_64-ninja
31-
32- - name : windows-arm64
33- os : windows-11-arm
34- shell : msys2 {0}
35- msystem : CLANGARM64
36- msys_packages : >-
37- mingw-w64-clang-aarch64-toolchain
38- mingw-w64-clang-aarch64-cmake
39- mingw-w64-clang-aarch64-ninja
40-
41- name : build (${{ matrix.name }})
42- runs-on : ${{ matrix.os }}
10+ linux-x86_64 :
11+ name : build (linux-x86_64)
12+ runs-on : ubuntu-latest
13+
14+ steps :
15+ - uses : actions/checkout@v4
16+ with :
17+ submodules : recursive
18+
19+ - name : install dependencies
20+ run : |
21+ sudo apt update && sudo apt install -y build-essential cmake ninja-build libudev-dev libavahi-compat-libdnssd-dev
22+
23+ - name : configure
24+ run : |
25+ cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
26+
27+ - name : build
28+ run : |
29+ cmake --build build
30+
31+ linux-arm64 :
32+ name : build (linux-arm64)
33+ runs-on : ubuntu-24.04-arm
34+
35+ steps :
36+ - uses : actions/checkout@v4
37+ with :
38+ submodules : recursive
39+
40+ - name : install dependencies
41+ run : |
42+ sudo apt update && sudo apt install -y build-essential cmake ninja-build libudev-dev libavahi-compat-libdnssd-dev
43+
44+ - name : configure
45+ run : |
46+ cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
47+
48+ - name : build
49+ run : |
50+ cmake --build build
51+
52+ macos :
53+ name : build (macos-universal)
54+ runs-on : macos-latest
55+
56+ steps :
57+ - uses : actions/checkout@v4
58+ with :
59+ submodules : recursive
60+
61+ - name : configure
62+ run : |
63+ cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
64+
65+ - name : build
66+ run : |
67+ cmake --build build
68+
69+ windows-x86_64 :
70+ name : build (windows-x86_64)
71+ runs-on : windows-latest
4372
4473 defaults :
4574 run :
46- shell : ${{ matrix.shell } }
75+ shell : msys2 {0 }
4776
4877 steps :
4978 - uses : actions/checkout@v4
5079 with :
5180 submodules : recursive
5281
53- - name : install dependencies (linux)
54- if : runner.os == 'Linux'
82+ - name : install dependencies
83+ uses : msys2/setup-msys2@v2
84+ with :
85+ msystem : CLANG64
86+ update : true
87+ install : >-
88+ mingw-w64-clang-x86_64-toolchain
89+ mingw-w64-clang-x86_64-cmake
90+ mingw-w64-clang-x86_64-ninja
91+
92+ - name : configure
5593 run : |
56- sudo apt update && sudo apt install -y build-essential cmake ninja-build libudev-dev libavahi-compat-libdnssd-dev
94+ cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
95+
96+ - name : build
97+ run : |
98+ cmake --build build
99+
100+ - name : upload artifacts
101+ uses : actions/upload-artifact@v4
102+ with :
103+ name : serialosc-windows-x86_64
104+ path : build/bin/
105+ if-no-files-found : warn
106+
107+ windows-arm64 :
108+ name : build (windows-arm64)
109+ runs-on : windows-11-arm
110+
111+ defaults :
112+ run :
113+ shell : msys2 {0}
114+
115+ steps :
116+ - uses : actions/checkout@v4
117+ with :
118+ submodules : recursive
57119
58- - name : install dependencies (windows)
59- if : runner.os == 'Windows'
120+ - name : install dependencies
60121 uses : msys2/setup-msys2@v2
61122 with :
62- msystem : ${{ matrix.msystem }}
123+ msystem : CLANGARM64
63124 update : true
64- install : ${{ matrix.msys_packages }}
125+ install : >-
126+ mingw-w64-clang-aarch64-toolchain
127+ mingw-w64-clang-aarch64-cmake
128+ mingw-w64-clang-aarch64-ninja
65129
66130 - name : configure
67131 run : |
@@ -71,10 +135,9 @@ jobs:
71135 run : |
72136 cmake --build build
73137
74- - name : upload artifacts (windows)
75- if : runner.os == 'Windows'
138+ - name : upload artifacts
76139 uses : actions/upload-artifact@v4
77140 with :
78- name : serialosc-${{ matrix.name }}
141+ name : serialosc-windows-arm64
79142 path : build/bin/
80143 if-no-files-found : warn
0 commit comments