61
61
- name : run tests
62
62
run : ctest --output-on-failure
63
63
64
- linux-amd64-aarch64 :
64
+ linux-hosts :
65
65
name : Linux-${{ matrix.arch }}
66
66
runs-on : ${{ matrix.runs-on }}
67
67
permissions :
@@ -216,82 +216,18 @@ jobs:
216
216
name : fastfetch-linux-armv6l
217
217
path : ./fastfetch-*.*
218
218
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
292
222
permissions :
293
223
security-events : write
294
224
contents : read
225
+ strategy :
226
+ matrix :
227
+ include :
228
+ - arch : riscv64
229
+ - arch : ppc64le
230
+ - arch : s390x
295
231
steps :
296
232
- name : checkout repository
297
233
uses : actions/checkout@v5
@@ -300,7 +236,7 @@ jobs:
300
236
uses : uraimo/run-on-arch-action@v3
301
237
id : runcmd
302
238
with :
303
- arch : s390x
239
+ arch : ${{ matrix.arch }}
304
240
distro : ubuntu20.04
305
241
githubToken : ${{ github.token }}
306
242
run : |
@@ -318,7 +254,7 @@ jobs:
318
254
- name : upload artifacts
319
255
uses : actions/upload-artifact@v4
320
256
with :
321
- name : fastfetch-linux-s390x
257
+ name : fastfetch-linux-${{ matrix.arch }}
322
258
path : ./fastfetch-*.*
323
259
324
260
musl-amd64 :
@@ -359,59 +295,19 @@ jobs:
359
295
name : fastfetch-musl-amd64
360
296
path : ./fastfetch-*.*
361
297
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 }}
412
301
permissions :
413
302
security-events : write
414
303
contents : read
304
+ strategy :
305
+ matrix :
306
+ include :
307
+ - arch : amd64
308
+ runs-on : macos-13
309
+ - arch : aarch64
310
+ runs-on : macos-latest
415
311
steps :
416
312
- name : checkout repository
417
313
uses : actions/checkout@v5
@@ -450,7 +346,7 @@ jobs:
450
346
- name : upload artifacts
451
347
uses : actions/upload-artifact@v4
452
348
with :
453
- name : fastfetch-macos-aarch64
349
+ name : fastfetch-macos-${{ matrix.arch }}
454
350
path : ./fastfetch-*.*
455
351
456
352
sunos-amd64 :
@@ -666,74 +562,25 @@ jobs:
666
562
name : fastfetch-haiku-amd64
667
563
path : ./fastfetch-*.*
668
564
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 }}
734
568
permissions :
735
569
security-events : write
736
570
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
737
584
defaults :
738
585
run :
739
586
shell : msys2 {0}
@@ -744,21 +591,21 @@ jobs:
744
591
- name : setup-msys2
745
592
uses : msys2/setup-msys2@v2
746
593
with :
747
- msystem : CLANGARM64
594
+ msystem : ${{ matrix.msystem }}
748
595
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
750
597
751
598
- name : print msys version
752
599
run : uname -a
753
600
754
601
- 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 .
756
603
757
604
- name : build project
758
605
run : cmake --build . --verbose -j4
759
606
760
607
- name : copy necessary dlls
761
- run : cp /clangarm64 /bin/{OpenCL,vulkan-1}.dll .
608
+ run : cp /${{ matrix.msystem-lower }} /bin/{OpenCL,vulkan-1}.dll .
762
609
763
610
- name : list features
764
611
run : ./fastfetch --list-features
@@ -779,38 +626,35 @@ jobs:
779
626
run : ctest --output-on-failure
780
627
781
628
- 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
783
630
784
631
- 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
786
633
787
634
- name : upload artifacts
788
635
uses : actions/upload-artifact@v4
789
636
with :
790
- name : fastfetch-windows-aarch64
791
- path : ./fastfetch-windows-aarch64 .*
637
+ name : fastfetch-windows-${{ matrix.arch }}
638
+ path : ./fastfetch-windows-${{ matrix.arch }} .*
792
639
793
640
release :
794
641
if : github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch'
795
642
name : Release
796
643
runs-on : ubuntu-latest
797
644
needs :
798
- - linux-amd64-aarch64
645
+ - linux-hosts
799
646
- linux-armv7l
800
647
- linux-armv6l
801
- - linux-riscv64
802
- - linux-ppc64le
803
- - linux-s390x
648
+ - linux-vms
804
649
- musl-amd64
805
- - macos-amd64
806
- - macos-aarch64
650
+ - macos-hosts
807
651
- freebsd-amd64
808
652
- openbsd-amd64
809
653
- netbsd-amd64
654
+ - dragonfly-amd64
810
655
- sunos-amd64
811
656
- haiku-amd64
812
- - windows-amd64
813
- - windows-aarch64
657
+ - windows-hosts
814
658
permissions :
815
659
contents : write
816
660
steps :
0 commit comments