@@ -158,161 +158,6 @@ jobs:
158158 name : fastfetch-linux-aarch64
159159 path : ./fastfetch-*.*
160160
161- linux-armv7 :
162- name : Linux-armv7
163- runs-on : ubuntu-22.04
164- permissions :
165- security-events : write
166- contents : read
167- steps :
168- - name : checkout repository
169- uses : actions/checkout@v4
170-
171- - name : run VM
172- uses : uraimo/run-on-arch-action@v2
173- id : runcmd
174- with :
175- arch : armv7
176- distro : ubuntu20.04
177- githubToken : ${{ github.token }}
178- run : |
179- uname -a
180- apt-get update && apt-get install -y wget
181- # CMake installed by apt has bug `list sub-command REMOVE_ITEM requires two or more arguments`
182- wget --no-check-certificate https://apt.kitware.com/ubuntu/pool/main/c/cmake/{cmake_3.29.2-0kitware1ubuntu20.04.1_armhf.deb,cmake-data_3.29.2-0kitware1ubuntu20.04.1_all.deb}
183- dpkg -i *.deb
184- apt-get install -y make g++ 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 libpulse-dev libdrm-dev libelf-dev directx-headers-dev rpm
185- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
186- cmake --build . --target package --verbose -j4
187- ./fastfetch --list-features
188- time ./fastfetch -c presets/ci.jsonc --stat false
189- time ./fastfetch -c presets/ci.jsonc --format json
190- time ./flashfetch
191- ldd fastfetch
192- ctest
193-
194- - name : upload artifacts
195- uses : actions/upload-artifact@v4
196- with :
197- name : fastfetch-linux-armv7
198- path : ./fastfetch-*.*
199-
200- linux-riscv64 :
201- name : Linux-riscv64
202- runs-on : ubuntu-22.04
203- permissions :
204- security-events : write
205- contents : read
206- steps :
207- - name : checkout repository
208- uses : actions/checkout@v4
209-
210- - name : run VM
211- uses : uraimo/run-on-arch-action@v2
212- id : runcmd
213- with :
214- arch : riscv64
215- distro : ubuntu22.04
216- githubToken : ${{ github.token }}
217- run : |
218- uname -a
219- 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 libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libddcutil-dev libchafa-dev libelf-dev directx-headers-dev rpm
220- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
221- cmake --build . --target package --verbose -j4
222- ./fastfetch --list-features
223- time ./fastfetch -c presets/ci.jsonc --stat false
224- time ./fastfetch -c presets/ci.jsonc --format json
225- time ./flashfetch
226- ldd fastfetch
227- ctest
228-
229- - name : upload artifacts
230- uses : actions/upload-artifact@v4
231- with :
232- name : fastfetch-linux-riscv64
233- path : ./fastfetch-*.*
234-
235- musl-amd64 :
236- name : Musl-amd64
237- runs-on : ubuntu-latest
238- steps :
239- - uses : actions/checkout@v4
240-
241- - name : setup alpine linux
242- uses : jirutka/setup-alpine@master
243- with :
244- branch : v3.19
245-
246- - name : install dependencies
247- run : |
248- cat /etc/alpine-release
249- uname -a
250- 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 elfutils-dev gcc g++
251- shell : alpine.sh --root {0}
252-
253- - name : build
254- run : |
255- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja .
256- cmake --build . --target package --verbose -j4
257- shell : alpine.sh {0}
258-
259- - name : run
260- run : |
261- ./fastfetch --list-features
262- time ./fastfetch -c presets/ci.jsonc --stat false
263- time ./fastfetch -c presets/ci.jsonc --format json
264- time ./flashfetch
265- ldd fastfetch
266- ctest
267- shell : alpine.sh {0}
268-
269- - name : upload artifacts
270- uses : actions/upload-artifact@v4
271- with :
272- name : fastfetch-musl-amd64
273- path : ./fastfetch-*.*
274-
275- musl-aarch64 :
276- name : Musl-aarch64
277- runs-on : ubuntu-latest
278- steps :
279- - uses : actions/checkout@v4
280-
281- - name : setup alpine linux
282- uses : jirutka/setup-alpine@master
283- with :
284- branch : v3.19
285- arch : aarch64
286-
287- - name : install dependencies
288- run : |
289- cat /etc/alpine-release
290- uname -a
291- 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 elfutils-dev gcc g++
292- shell : alpine.sh --root {0}
293-
294- - name : build
295- run : |
296- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja .
297- cmake --build . --target package --verbose -j4
298- shell : alpine.sh {0}
299-
300- - name : run
301- run : |
302- ./fastfetch --list-features
303- time ./fastfetch -c presets/ci.jsonc --stat false
304- time ./fastfetch -c presets/ci.jsonc --format json
305- time ./flashfetch
306- ldd fastfetch
307- ctest
308- shell : alpine.sh {0}
309-
310- - name : upload artifacts
311- uses : actions/upload-artifact@v4
312- with :
313- name : fastfetch-musl-aarch64
314- path : ./fastfetch-*.*
315-
316161 macos-universal :
317162 name : macOS-universal
318163 runs-on : macos-12
@@ -367,77 +212,6 @@ jobs:
367212 with :
368213 name : fastfetch-macos-universal
369214 path : ./fastfetch-*.*
370-
371- sunos-amd64 :
372- runs-on : ubuntu-latest
373- name : SunOS-amd64
374- steps :
375- - name : checkout repository
376- uses : actions/checkout@v4
377-
378- - name : run VM
379- uses : vmactions/omnios-vm@v1
380- with :
381- usesh : true
382- prepare : |
383- uname -a
384- pkg update --accept
385- pkg install gcc13 cmake git pkg-config glib2 dbus sqlite-3 imagemagick
386-
387- run : |
388- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
389- cmake --build . --target package --verbose -j4
390- ./fastfetch --list-features
391- time ./fastfetch -c presets/ci.jsonc --stat false
392- time ./fastfetch -c presets/ci.jsonc --format json
393- time ./flashfetch
394- ldd fastfetch
395- ctest
396- cpack
397-
398- - name : upload artifacts
399- uses : actions/upload-artifact@v4
400- with :
401- name : fastfetch-sunos-amd64
402- path : ./fastfetch-*.*
403-
404- freebsd-amd64 :
405- name : FreeBSD-amd64
406- runs-on : ubuntu-latest
407- permissions :
408- security-events : write
409- contents : read
410- steps :
411- - name : checkout repository
412- uses : actions/checkout@v4
413-
414- - name : run VM
415- uses : cross-platform-actions/action@master
416- with :
417- operating_system : freebsd
418- architecture : x86-64
419- cpu_count : 4
420- shell : bash
421- version : ' 14.1'
422- run : |
423- uname -a
424- sudo pkg update
425- sudo pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm libelf glib dconf dbus sqlite3-tcl xfce4-conf egl libosmesa opencl ocl-icd v4l_compat
426- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
427- cmake --build . --target package --verbose -j4
428- ./fastfetch --list-features
429- time ./fastfetch -c presets/ci.jsonc --stat false
430- time ./fastfetch -c presets/ci.jsonc --format json
431- time ./flashfetch
432- ldd fastfetch
433- ctest
434-
435- - name : upload artifacts
436- uses : actions/upload-artifact@v4
437- with :
438- name : fastfetch-freebsd-amd64
439- path : ./fastfetch-*.*
440-
441215 windows-amd64 :
442216 name : Windows-amd64
443217 runs-on : windows-latest
@@ -502,108 +276,22 @@ jobs:
502276 with :
503277 name : fastfetch-windows-amd64
504278 path : ./fastfetch-windows-amd64.*
505-
506- windows-i686 :
507- name : Windows-i686
508- runs-on : windows-latest
509- permissions :
510- security-events : write
511- contents : read
512- defaults :
513- run :
514- shell : msys2 {0}
515- steps :
516- - name : checkout repository
517- uses : actions/checkout@v4
518-
519- - name : setup-msys2
520- uses : msys2/setup-msys2@v2
521- with :
522- msystem : CLANG32
523- update : true
524- install : git p7zip mingw-w64-clang-i686-cmake mingw-w64-clang-i686-clang mingw-w64-clang-i686-vulkan-loader mingw-w64-clang-i686-vulkan-headers mingw-w64-clang-i686-opencl-icd mingw-w64-clang-i686-opencl-headers
525-
526- - name : print msys version
527- run : uname -a
528-
529- - name : Initialize CodeQL
530- uses : github/codeql-action/init@v3
531- with :
532- languages : c, cpp
533-
534- - name : configure project
535- run : env PKG_CONFIG_PATH=/clang32/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
536-
537- - name : build project
538- run : cmake --build . --verbose -j4
539-
540- - name : perform CodeQL analysis
541- uses : github/codeql-action/analyze@v3
542-
543- - name : copy necessary dlls
544- run : cp /clang32/bin/{OpenCL,vulkan-1}.dll .
545-
546- - name : download amd_ags
547- run : curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x86.dll
548-
549- - name : run fastfetch
550- run : time ./fastfetch -c presets/ci.jsonc --stat false
551-
552- - name : run fastfetch --format json
553- run : time ./fastfetch -c presets/ci.jsonc --format json
554-
555- - name : run flashfetch
556- run : time ./flashfetch
557-
558- - name : print dependencies
559- run : ldd fastfetch
560-
561- - name : run tests
562- run : ctest
563-
564- - name : create zip archive
565- run : 7z a -tzip -mx9 -bd -y fastfetch-windows-i686.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
566-
567- - name : create 7z archive
568- run : 7z a -t7z -mx9 -bd -y fastfetch-windows-i686.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
569-
570- - name : upload artifacts
571- uses : actions/upload-artifact@v4
572- with :
573- name : fastfetch-windows-i686
574- path : ./fastfetch-windows-i686.*
575-
576279 release :
577- if : github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch'
280+ if : github.event_name == 'push' && startsWith( github.ref, 'refs/tags')
578281 name : Release
579282 runs-on : ubuntu-latest
580283 needs :
581284 - linux-amd64
582285 - linux-aarch64
583- - linux-armv7
584- - linux-riscv64
585- - musl-amd64
586- - musl-aarch64
587286 - macos-universal
588- - freebsd-amd64
589- - sunos-amd64
590287 - windows-amd64
591- - windows-i686
592288 permissions :
593289 contents : write
594290 steps :
595- - name : get latest release version
596- id : get_version_release
597- uses : pozetroninc/github-action-get-latest-release@master
598- with :
599- repository : ${{ github.repository }}
600-
601291 - name : download artifacts
602- if : needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release
603292 uses : actions/download-artifact@v4
604293
605294 - name : create release
606- if : needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release
607295 uses : ncipollo/release-action@v1
608296 with :
609297 tag : ${{ needs.linux-amd64.outputs.ffversion }}
@@ -613,13 +301,11 @@ jobs:
613301 body : " Please refer to [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/${{ needs.linux-amd64.outputs.ffversion }}/CHANGELOG.md) for details."
614302
615303 - name : download source tarballs
616- if : needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release
617304 run : |
618305 for i in 1 2 3 4 5; do curl -L --remote-name-all --output-dir fastfetch-source --create-dirs https://github.com/${{ github.repository }}/archive/refs/tags/${{ needs.linux-amd64.outputs.ffversion }}.{tar.gz,zip} && break || sleep 5; done
619306 ls fastfetch-*/*
620307
621308 - name : generate release notes
622- if : needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release
623309 run : |
624310 echo "Please refer to [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/${{ needs.linux-amd64.outputs.ffversion }}/CHANGELOG.md) for details." > fastfetch-release-notes.md
625311 echo -e "\n---\n\n<details><summary>SHA256SUMs</summary><br>\n\n\`\`\`" >> fastfetch-release-notes.md
@@ -630,7 +316,6 @@ jobs:
630316 echo -e "\`\`\`\n</details>" >> fastfetch-release-notes.md
631317
632318 - name : update release body
633- if : needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release
634319 uses : ncipollo/release-action@v1
635320 with :
636321 tag : ${{ needs.linux-amd64.outputs.ffversion }}
0 commit comments