Skip to content

Commit 509d6bf

Browse files
committed
CI: merge more jobs
1 parent ab8a13b commit 509d6bf

File tree

1 file changed

+52
-208
lines changed

1 file changed

+52
-208
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 208 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
- name: run tests
6262
run: ctest --output-on-failure
6363

64-
linux-amd64-aarch64:
64+
linux-hosts:
6565
name: Linux-${{ matrix.arch }}
6666
runs-on: ${{ matrix.runs-on }}
6767
permissions:
@@ -216,82 +216,18 @@ jobs:
216216
name: fastfetch-linux-armv6l
217217
path: ./fastfetch-*.*
218218

219-
linux-riscv64:
220-
name: Linux-riscv64
221-
runs-on: ubuntu-24.04
222-
permissions:
223-
security-events: write
224-
contents: read
225-
steps:
226-
- name: checkout repository
227-
uses: actions/checkout@v5
228-
229-
- name: run VM
230-
uses: uraimo/run-on-arch-action@v3
231-
id: runcmd
232-
with:
233-
arch: riscv64
234-
distro: ubuntu22.04
235-
githubToken: ${{ github.token }}
236-
run: |
237-
uname -a
238-
apt-get update && apt-get install -y cmake make g++ libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libddcutil-dev libchafa-dev libelf-dev rpm
239-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
240-
cmake --build . --target package --verbose -j4
241-
./fastfetch --list-features
242-
time ./fastfetch -c presets/ci.jsonc --stat false
243-
time ./fastfetch -c presets/ci.jsonc --format json
244-
time ./flashfetch
245-
ldd fastfetch
246-
ctest --output-on-failure
247-
248-
- name: upload artifacts
249-
uses: actions/upload-artifact@v4
250-
with:
251-
name: fastfetch-linux-riscv64
252-
path: ./fastfetch-*.*
253-
254-
linux-ppc64le:
255-
name: Linux-ppc64le
256-
runs-on: ubuntu-24.04
257-
permissions:
258-
security-events: write
259-
contents: read
260-
steps:
261-
- name: checkout repository
262-
uses: actions/checkout@v5
263-
264-
- name: run VM
265-
uses: uraimo/run-on-arch-action@v3
266-
id: runcmd
267-
with:
268-
arch: ppc64le
269-
distro: ubuntu20.04
270-
githubToken: ${{ github.token }}
271-
run: |
272-
uname -a
273-
apt-get update && apt-get install -y cmake make g++ libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libchafa-dev libelf-dev rpm
274-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
275-
cmake --build . --target package --verbose -j4
276-
./fastfetch --list-features
277-
time ./fastfetch -c presets/ci.jsonc --stat false
278-
time ./fastfetch -c presets/ci.jsonc --format json
279-
time ./flashfetch
280-
ldd fastfetch
281-
ctest --output-on-failure
282-
283-
- name: upload artifacts
284-
uses: actions/upload-artifact@v4
285-
with:
286-
name: fastfetch-linux-ppc64le
287-
path: ./fastfetch-*.*
288-
289-
linux-s390x:
290-
name: Linux-s390x
291-
runs-on: ubuntu-24.04
219+
linux-vms:
220+
name: Linux-${{ matrix.arch }}
221+
runs-on: ubuntu-latest
292222
permissions:
293223
security-events: write
294224
contents: read
225+
strategy:
226+
matrix:
227+
include:
228+
- arch: riscv64
229+
- arch: ppc64le
230+
- arch: s390x
295231
steps:
296232
- name: checkout repository
297233
uses: actions/checkout@v5
@@ -300,7 +236,7 @@ jobs:
300236
uses: uraimo/run-on-arch-action@v3
301237
id: runcmd
302238
with:
303-
arch: s390x
239+
arch: ${{ matrix.arch }}
304240
distro: ubuntu20.04
305241
githubToken: ${{ github.token }}
306242
run: |
@@ -318,7 +254,7 @@ jobs:
318254
- name: upload artifacts
319255
uses: actions/upload-artifact@v4
320256
with:
321-
name: fastfetch-linux-s390x
257+
name: fastfetch-linux-${{ matrix.arch }}
322258
path: ./fastfetch-*.*
323259

324260
musl-amd64:
@@ -359,59 +295,19 @@ jobs:
359295
name: fastfetch-musl-amd64
360296
path: ./fastfetch-*.*
361297

362-
macos-amd64:
363-
name: macOS-amd64
364-
runs-on: macos-13
365-
permissions:
366-
security-events: write
367-
contents: read
368-
steps:
369-
- name: checkout repository
370-
uses: actions/checkout@v5
371-
372-
- name: uname -a
373-
run: uname -a
374-
375-
- name: install required packages
376-
run: |
377-
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install --overwrite vulkan-loader vulkan-headers molten-vk imagemagick chafa
378-
379-
- name: configure project
380-
run: cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
381-
382-
- name: build project
383-
run: cmake --build . --target package --verbose -j4
384-
385-
- name: list features
386-
run: ./fastfetch --list-features
387-
388-
- name: run fastfetch
389-
run: time ./fastfetch -c presets/ci.jsonc --stat false
390-
391-
- name: run fastfetch --format json
392-
run: time ./fastfetch -c presets/ci.jsonc --format json
393-
394-
- name: run flashfetch
395-
run: time ./flashfetch
396-
397-
- name: print dependencies
398-
run: otool -L fastfetch
399-
400-
- name: run tests
401-
run: ctest --output-on-failure
402-
403-
- name: upload artifacts
404-
uses: actions/upload-artifact@v4
405-
with:
406-
name: fastfetch-macos-amd64
407-
path: ./fastfetch-*.*
408-
409-
macos-aarch64:
410-
name: macOS-aarch64
411-
runs-on: macos-latest
298+
macos-hosts:
299+
name: macOS-${{ matrix.arch }}
300+
runs-on: ${{ matrix.runs-on }}
412301
permissions:
413302
security-events: write
414303
contents: read
304+
strategy:
305+
matrix:
306+
include:
307+
- arch: amd64
308+
runs-on: macos-13
309+
- arch: aarch64
310+
runs-on: macos-latest
415311
steps:
416312
- name: checkout repository
417313
uses: actions/checkout@v5
@@ -450,7 +346,7 @@ jobs:
450346
- name: upload artifacts
451347
uses: actions/upload-artifact@v4
452348
with:
453-
name: fastfetch-macos-aarch64
349+
name: fastfetch-macos-${{ matrix.arch }}
454350
path: ./fastfetch-*.*
455351

456352
sunos-amd64:
@@ -666,74 +562,25 @@ jobs:
666562
name: fastfetch-haiku-amd64
667563
path: ./fastfetch-*.*
668564

669-
windows-amd64:
670-
name: Windows-amd64
671-
runs-on: windows-latest
672-
permissions:
673-
security-events: write
674-
contents: read
675-
defaults:
676-
run:
677-
shell: msys2 {0}
678-
steps:
679-
- name: checkout repository
680-
uses: actions/checkout@v5
681-
682-
- name: setup-msys2
683-
uses: msys2/setup-msys2@v2
684-
with:
685-
msystem: CLANG64
686-
update: true
687-
install: git mingw-w64-clang-x86_64-7zip mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-vulkan-headers mingw-w64-clang-x86_64-opencl-icd mingw-w64-clang-x86_64-opencl-headers mingw-w64-clang-x86_64-cppwinrt mingw-w64-clang-x86_64-imagemagick
688-
689-
- name: print msys version
690-
run: uname -a
691-
692-
- name: configure project
693-
run: env PKG_CONFIG_PATH=/clang64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
694-
695-
- name: build project
696-
run: cmake --build . --verbose -j4
697-
698-
- name: copy necessary dlls
699-
run: cp /clang64/bin/{OpenCL,vulkan-1}.dll .
700-
701-
- name: list features
702-
run: ./fastfetch --list-features
703-
704-
- name: run fastfetch
705-
run: time ./fastfetch -c presets/ci.jsonc --stat false
706-
707-
- name: run fastfetch --format json
708-
run: time ./fastfetch -c presets/ci.jsonc --format json
709-
710-
- name: run flashfetch
711-
run: time ./flashfetch
712-
713-
- name: print dependencies
714-
run: ldd fastfetch
715-
716-
- name: run tests
717-
run: ctest --output-on-failure
718-
719-
- name: create zip archive
720-
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
721-
722-
- name: create 7z archive
723-
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-amd64.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
724-
725-
- name: upload artifacts
726-
uses: actions/upload-artifact@v4
727-
with:
728-
name: fastfetch-windows-amd64
729-
path: ./fastfetch-windows-amd64.*
730-
731-
windows-aarch64:
732-
name: Windows-aarch64
733-
runs-on: windows-11-arm
565+
windows-hosts:
566+
name: Windows-${{ matrix.arch }}
567+
runs-on: ${{ matrix.runs-on }}
734568
permissions:
735569
security-events: write
736570
contents: read
571+
strategy:
572+
matrix:
573+
include:
574+
- arch: amd64
575+
runs-on: windows-latest
576+
msystem: CLANG64
577+
msystem-lower: clang64
578+
msys-arch: x86_64
579+
- arch: aarch64
580+
runs-on: windows-11-arm
581+
msystem: CLANGARM64
582+
msystem-lower: clangarm64
583+
msys-arch: aarch64
737584
defaults:
738585
run:
739586
shell: msys2 {0}
@@ -744,21 +591,21 @@ jobs:
744591
- name: setup-msys2
745592
uses: msys2/setup-msys2@v2
746593
with:
747-
msystem: CLANGARM64
594+
msystem: ${{ matrix.msystem }}
748595
update: true
749-
install: git mingw-w64-clang-aarch64-7zip mingw-w64-clang-aarch64-cmake mingw-w64-clang-aarch64-clang mingw-w64-clang-aarch64-vulkan-loader mingw-w64-clang-aarch64-vulkan-headers mingw-w64-clang-aarch64-opencl-icd mingw-w64-clang-aarch64-opencl-headers mingw-w64-clang-aarch64-cppwinrt mingw-w64-clang-aarch64-imagemagick
596+
install: git mingw-w64-clang-${{ matrix.msys-arch }}-7zip mingw-w64-clang-${{ matrix.msys-arch }}-cmake mingw-w64-clang-${{ matrix.msys-arch }}-clang mingw-w64-clang-${{ matrix.msys-arch }}-vulkan-loader mingw-w64-clang-${{ matrix.msys-arch }}-vulkan-headers mingw-w64-clang-${{ matrix.msys-arch }}-opencl-icd mingw-w64-clang-${{ matrix.msys-arch }}-opencl-headers mingw-w64-clang-${{ matrix.msys-arch }}-cppwinrt mingw-w64-clang-${{ matrix.msys-arch }}-imagemagick
750597

751598
- name: print msys version
752599
run: uname -a
753600

754601
- name: configure project
755-
run: env PKG_CONFIG_PATH=/clangarm64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
602+
run: env PKG_CONFIG_PATH=/${{ matrix.msystem-lower }}/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
756603

757604
- name: build project
758605
run: cmake --build . --verbose -j4
759606

760607
- name: copy necessary dlls
761-
run: cp /clangarm64/bin/{OpenCL,vulkan-1}.dll .
608+
run: cp /${{ matrix.msystem-lower }}/bin/{OpenCL,vulkan-1}.dll .
762609

763610
- name: list features
764611
run: ./fastfetch --list-features
@@ -779,38 +626,35 @@ jobs:
779626
run: ctest --output-on-failure
780627

781628
- name: create zip archive
782-
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-aarch64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
629+
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
783630

784631
- name: create 7z archive
785-
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-aarch64.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
632+
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
786633

787634
- name: upload artifacts
788635
uses: actions/upload-artifact@v4
789636
with:
790-
name: fastfetch-windows-aarch64
791-
path: ./fastfetch-windows-aarch64.*
637+
name: fastfetch-windows-${{ matrix.arch }}
638+
path: ./fastfetch-windows-${{ matrix.arch }}.*
792639

793640
release:
794641
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch'
795642
name: Release
796643
runs-on: ubuntu-latest
797644
needs:
798-
- linux-amd64-aarch64
645+
- linux-hosts
799646
- linux-armv7l
800647
- linux-armv6l
801-
- linux-riscv64
802-
- linux-ppc64le
803-
- linux-s390x
648+
- linux-vms
804649
- musl-amd64
805-
- macos-amd64
806-
- macos-aarch64
650+
- macos-hosts
807651
- freebsd-amd64
808652
- openbsd-amd64
809653
- netbsd-amd64
654+
- dragonfly-amd64
810655
- sunos-amd64
811656
- haiku-amd64
812-
- windows-amd64
813-
- windows-aarch64
657+
- windows-hosts
814658
permissions:
815659
contents: write
816660
steps:

0 commit comments

Comments
 (0)