|
19 | 19 | - name: Run Spellchecker |
20 | 20 | run: codespell |
21 | 21 |
|
22 | | - linux-buildtest: |
23 | | - name: Linux build test |
24 | | - permissions: |
25 | | - contents: read |
26 | | - strategy: |
27 | | - fail-fast: false |
28 | | - matrix: |
29 | | - compiler: [ |
30 | | - { cc: gcc, cxx: "g++" }, |
31 | | - { cc: clang, cxx: "clang++" }, |
32 | | - { cc: "musl-gcc", cxx: "musl-g++" } |
33 | | - ] |
34 | | - enableFeatures: [ON, OFF] |
35 | | - exclude: |
36 | | - # The feature libraries are all build against glibc, so they can't be used with musl |
37 | | - - compiler: { cc: "musl-gcc", cxx: "musl-g++" } |
38 | | - enableFeatures: ON |
39 | | - runs-on: ubuntu-22.04 |
40 | | - steps: |
41 | | - - name: checkout repository |
42 | | - uses: actions/checkout@v4 |
43 | | - |
44 | | - - name: uname -a |
45 | | - run: uname -a |
46 | | - |
47 | | - - name: install required packages |
48 | | - run: sudo apt-get update && sudo apt-get install -y musl-dev musl-tools linux-headers-generic libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev libddcutil-dev libchafa-dev libdrm-dev directx-headers-dev |
49 | | - |
50 | | - - name: configure project |
51 | | - env: |
52 | | - CC: ${{ matrix.compiler.cc }} |
53 | | - CXX: ${{ matrix.compiler.cxx }} |
54 | | - run: cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_VULKAN=${{ matrix.enableFeatures }} -DENABLE_WAYLAND=${{ matrix.enableFeatures }} -DENABLE_XCB_RANDR=${{ matrix.enableFeatures }} -DENABLE_XCB=${{ matrix.enableFeatures }} -DENABLE_XRANDR=${{ matrix.enableFeatures }} -DENABLE_X11=${{ matrix.enableFeatures }} -DENABLE_GIO=${{ matrix.enableFeatures }} -DENABLE_DCONF=${{ matrix.enableFeatures }} -DENABLE_DBUS=${{ matrix.enableFeatures }} -DENABLE_XFCONF=${{ matrix.enableFeatures }} -DENABLE_SQLITE3=${{ matrix.enableFeatures }} -DENABLE_RPM=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK7=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK6=${{ matrix.enableFeatures }} -DENABLE_CHAFA=${{ matrix.enableFeatures }} -DENABLE_ZLIB=${{ matrix.enableFeatures }} -DENABLE_EGL=${{ matrix.enableFeatures }} -DENABLE_GLX=${{ matrix.enableFeatures }} -DENABLE_OSMESA=${{ matrix.enableFeatures }} -DENABLE_OPENCL=${{ matrix.enableFeatures }} -DENABLE_LIBNM=${{ matrix.enableFeatures }} -DENABLE_PULSE=${{ matrix.enableFeatures }} -DENABLE_DIRECTX_HEADERS=${{ matrix.enableFeatures }} -DENABLE_DRM=${{ matrix.enableFeatures }} -DENABLE_DDCUTIL=${{ matrix.enableFeatures }} -DENABLE_CHAFA=${{ matrix.enableFeatures }} . |
55 | | - |
56 | | - - name: build project |
57 | | - run: cmake --build . --verbose -j4 |
58 | | - |
59 | | - - name: run tests |
60 | | - run: ctest |
61 | | - |
62 | | - - name: run fastfetch --list-features |
63 | | - run: ./fastfetch --list-features |
64 | | - |
65 | | - - name: run fastfetch |
66 | | - run: time ./fastfetch -c presets/ci.jsonc |
67 | | - |
68 | | - - name: run fastfetch --format json |
69 | | - run: time ./fastfetch -c presets/ci.jsonc --format json |
70 | | - |
71 | | - - name: run flashfetch |
72 | | - run: time ./flashfetch |
73 | | - |
74 | 22 | Linux-old-amd64: |
75 | 23 | name: Linux-old-amd64 |
76 | 24 | runs-on: ubuntu-20.04 |
@@ -230,6 +178,84 @@ jobs: |
230 | 178 | name: fastfetch-linux-aarch64 |
231 | 179 | path: ./fastfetch-*.* |
232 | 180 |
|
| 181 | + musl-amd64: |
| 182 | + name: Musl-amd64 |
| 183 | + runs-on: ubuntu-latest |
| 184 | + steps: |
| 185 | + - uses: actions/checkout@v4 |
| 186 | + |
| 187 | + - name: setup alpine linux |
| 188 | + uses: jirutka/setup-alpine@master |
| 189 | + |
| 190 | + - name: install dependencies |
| 191 | + run: | |
| 192 | + cat /etc/alpine-release |
| 193 | + uname -a |
| 194 | + apk add cmake samurai vulkan-loader-dev libxcb-dev wayland-dev libdrm-dev dconf-dev imagemagick-dev chafa-dev zlib-dev dbus-dev mesa-dev opencl-dev xfconf-dev sqlite-dev networkmanager-dev pulseaudio-dev ddcutil-dev gcc g++ |
| 195 | + shell: alpine.sh --root {0} |
| 196 | + |
| 197 | + - name: build |
| 198 | + run: | |
| 199 | + cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja . |
| 200 | + cmake --build . --target package --verbose -j4 |
| 201 | + shell: alpine.sh {0} |
| 202 | + |
| 203 | + - name: run |
| 204 | + run: | |
| 205 | + ./fastfetch --list-features |
| 206 | + time ./fastfetch -c presets/ci.jsonc |
| 207 | + time ./fastfetch -c presets/ci.jsonc --format json |
| 208 | + time ./flashfetch |
| 209 | + ldd fastfetch |
| 210 | + ctest |
| 211 | + shell: alpine.sh {0} |
| 212 | + |
| 213 | + - name: upload artifacts |
| 214 | + uses: actions/upload-artifact@v4 |
| 215 | + with: |
| 216 | + name: fastfetch-musl-amd64 |
| 217 | + path: ./fastfetch-*.* |
| 218 | + |
| 219 | + musl-aarch64: |
| 220 | + name: Musl-aarch64 |
| 221 | + runs-on: ubuntu-latest |
| 222 | + steps: |
| 223 | + - uses: actions/checkout@v4 |
| 224 | + |
| 225 | + - name: setup alpine linux |
| 226 | + uses: jirutka/setup-alpine@master |
| 227 | + with: |
| 228 | + arch: aarch64 |
| 229 | + |
| 230 | + - name: install dependencies |
| 231 | + run: | |
| 232 | + cat /etc/alpine-release |
| 233 | + uname -a |
| 234 | + apk add cmake samurai vulkan-loader-dev libxcb-dev wayland-dev libdrm-dev dconf-dev imagemagick-dev chafa-dev zlib-dev dbus-dev mesa-dev opencl-dev xfconf-dev sqlite-dev networkmanager-dev pulseaudio-dev ddcutil-dev gcc g++ |
| 235 | + shell: alpine.sh --root {0} |
| 236 | + |
| 237 | + - name: build |
| 238 | + run: | |
| 239 | + cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja . |
| 240 | + cmake --build . --target package --verbose -j4 |
| 241 | + shell: alpine.sh {0} |
| 242 | + |
| 243 | + - name: run |
| 244 | + run: | |
| 245 | + ./fastfetch --list-features |
| 246 | + time ./fastfetch -c presets/ci.jsonc |
| 247 | + time ./fastfetch -c presets/ci.jsonc --format json |
| 248 | + time ./flashfetch |
| 249 | + ldd fastfetch |
| 250 | + ctest |
| 251 | + shell: alpine.sh {0} |
| 252 | + |
| 253 | + - name: upload artifacts |
| 254 | + uses: actions/upload-artifact@v4 |
| 255 | + with: |
| 256 | + name: fastfetch-musl-aarch64 |
| 257 | + path: ./fastfetch-*.* |
| 258 | + |
233 | 259 | macos-universal: |
234 | 260 | name: macOS-universal |
235 | 261 | runs-on: macos-latest |
@@ -495,6 +521,8 @@ jobs: |
495 | 521 | needs: |
496 | 522 | - linux-amd64 |
497 | 523 | - linux-aarch64 |
| 524 | + - musl-amd64 |
| 525 | + - musl-aarch64 |
498 | 526 | - macos-universal |
499 | 527 | - freebsd-amd64 |
500 | 528 | - freebsd-aarch64 |
|
0 commit comments