8989 - name : cat /proc/cpuinfo
9090 run : cat /proc/cpuinfo
9191
92+ - name : add gcc-13 repo
93+ run : sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
94+
9295 - name : install required packages
93- run : sudo apt-get update && sudo apt-get install -y 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 libelf-dev libddcutil-dev libchafa-dev directx-headers-dev rpm ninja-build
96+ run : sudo apt-get update && sudo apt-get install -y gcc-13 g++-13 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 libelf-dev libddcutil-dev libchafa-dev directx-headers-dev rpm ninja-build
9497
9598 - name : install linuxbrew packages
9699 run : |
@@ -104,7 +107,7 @@ jobs:
104107 languages : c
105108
106109 - name : configure project
107- run : PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr .
110+ run : CC=gcc-13 CXX=g++-13 PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr .
108111
109112 - name : build project
110113 run : cmake --build . --target package --verbose -j4
@@ -142,14 +145,80 @@ jobs:
142145 strip fastfetch && ./polyfill-glibc fastfetch --target-glibc=2.17
143146 strip flashfetch && ./polyfill-glibc flashfetch --target-glibc=2.17
144147 echo 'set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-polyfilled")' >> CPackConfig.cmake
145- cpack
148+ echo 'set(CPACK_PACKAGE_RELOCATABLE OFF)' >> CPackConfig.cmake
149+ echo 'set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.17)")' >> CPackConfig.cmake
150+ echo 'set(CPACK_RPM_SPEC_MORE_DEFINE "%global __os_install_post %{nil}")' >> CPackConfig.cmake
151+ cpack -V
146152
147153 - name : upload artifacts
148154 uses : actions/upload-artifact@v4
149155 with :
150156 name : fastfetch-linux-${{ matrix.arch }}
151157 path : ./fastfetch-*.*
152158
159+ linux-i686 :
160+ name : Linux-i686
161+ runs-on : ubuntu-22.04
162+ permissions :
163+ security-events : write
164+ contents : read
165+ steps :
166+ - name : checkout repository
167+ uses : actions/checkout@v5
168+
169+ - name : uname -a
170+ run : uname -a
171+
172+ - name : cat /etc/os-release
173+ run : cat /etc/os-release
174+
175+ - name : cat /proc/cpuinfo
176+ run : cat /proc/cpuinfo
177+
178+ - name : add gcc-13 repo
179+ run : sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
180+
181+ - name : install required packages
182+ run : sudo apt-get update && sudo apt-get install -y gcc-13 gcc-13-multilib 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 libelf-dev libddcutil-dev rpm ninja-build
183+
184+ - name : install linuxbrew packages
185+ run : |
186+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
187+ /home/linuxbrew/.linuxbrew/bin/brew install imagemagick chafa --ignore-dependencies
188+
189+ - name : cmake version
190+ run : cmake --version
191+
192+ - name : configure project
193+ run : CC=gcc-13 PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -DCMAKE_C_FLAGS="-m32 -march=i686 -mtune=i686" -DCMAKE_SYSTEM_PROCESSOR_OVERRIDE=i686 -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_DIRECTX_HEADERS=Off .
194+
195+ - name : build project
196+ run : cmake --build . --target package --verbose -j4
197+
198+ - name : list features
199+ run : ./fastfetch --list-features
200+
201+ - name : run fastfetch
202+ run : time ./fastfetch -c presets/ci.jsonc --stat false
203+
204+ - name : run fastfetch --format json
205+ run : time ./fastfetch -c presets/ci.jsonc --format json
206+
207+ - name : run flashfetch
208+ run : time ./flashfetch
209+
210+ - name : print dependencies
211+ run : ldd fastfetch
212+
213+ - name : run tests
214+ run : ctest --output-on-failure
215+
216+ - name : upload artifacts
217+ uses : actions/upload-artifact@v4
218+ with :
219+ name : fastfetch-linux-i686
220+ path : ./fastfetch-*.*
221+
153222 linux-armv7l :
154223 name : Linux-armv7l
155224 runs-on : ubuntu-24.04
@@ -169,12 +238,13 @@ jobs:
169238 githubToken : ${{ github.token }}
170239 run : |
171240 uname -a
172- apt-get update && apt-get install -y ca-certificates gpg curl
241+ apt-get update && apt-get install -y software-properties-common ca-certificates gpg curl
242+ add-apt-repository -y ppa:ubuntu-toolchain-r/test
173243 curl -L https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
174244 echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
175245 echo -e 'Acquire::https::Verify-Peer "false";\nAcquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99ignore-certificates
176- 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 libelf-dev rpm
177- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
246+ apt-get update && apt-get install -y cmake make gcc-13 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 libelf-dev rpm
247+ CC=gcc-13 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
178248 cmake --build . --target package --verbose -j4
179249 ./fastfetch --list-features
180250 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -209,8 +279,8 @@ jobs:
209279 run : |
210280 uname -a
211281 apt-get update && apt-get install -y wget
212- 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 libelf-dev rpm
213- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
282+ apt-get install -y cmake make gcc 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 libelf-dev rpm
283+ cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off - DCMAKE_INSTALL_PREFIX=/usr .
214284 cmake --build . --target package --verbose -j4
215285 ./fastfetch --list-features
216286 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -246,12 +316,14 @@ jobs:
246316 id : runcmd
247317 with :
248318 arch : ${{ matrix.arch }}
249- distro : ubuntu20 .04
319+ distro : ubuntu22 .04
250320 githubToken : ${{ github.token }}
251321 run : |
252322 uname -a
253- 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
254- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
323+ apt-get update && apt-get install -y software-properties-common
324+ add-apt-repository -y ppa:ubuntu-toolchain-r/test
325+ apt-get update && apt-get install -y cmake make gcc-13 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
326+ CC=gcc-13 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
255327 cmake --build . --target package --verbose -j4
256328 ./fastfetch --list-features
257329 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -449,8 +521,9 @@ jobs:
449521 version : ' 7.7'
450522 run : |
451523 uname -a
452- sudo pkg_add -r cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa
453- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
524+ sudo pkg_add -u
525+ sudo pkg_add -r llvm-19.1.7p3 cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa
526+ CC=clang-19 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
454527 cmake --build . --target package --verbose -j4
455528 ./fastfetch --list-features
456529 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -485,8 +558,8 @@ jobs:
485558 version : ' 10.1'
486559 run : |
487560 uname -a
488- sudo pkgin -y install cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick
489- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
561+ sudo pkgin -y install clang cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick
562+ CC=clang cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
490563 cmake --build . --target package --verbose -j4
491564 ./fastfetch --list-features
492565 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -518,10 +591,10 @@ jobs:
518591 prepare : |
519592 uname -a
520593 pkg update
521- pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl egl opencl ocl-icd v4l_compat chafa libelf
594+ pkg install -y llvm cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl egl opencl ocl-icd v4l_compat chafa libelf
522595
523596 run : |
524- cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
597+ env CC=clang cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
525598 cmake --build . --target package --verbose -j4
526599 ./fastfetch --list-features
527600 time ./fastfetch -c presets/ci.jsonc --stat false
@@ -634,24 +707,49 @@ jobs:
634707 - name : run tests
635708 run : ctest --output-on-failure
636709
710+ - if : github.event_name == 'push' && github.repository == 'fastfetch-cli/fastfetch'
711+ id : upload-unsigned-artifact
712+ name : upload artifacts for signing
713+ uses : actions/upload-artifact@v4
714+ with :
715+ name : fastfetch-windows-${{ matrix.arch }}
716+ path : |
717+ *.dll
718+ fastfetch.exe
719+ flashfetch.exe
720+
721+ - if : github.event_name == 'push' && github.repository == 'fastfetch-cli/fastfetch'
722+ name : submit signing request
723+ uses : signpath/github-action-submit-signing-request@v1
724+ with :
725+ api-token : ' ${{ secrets.SIGNPATH_API_TOKEN }}'
726+ organization-id : ' ${{ vars.SIGNPATH_ORG_ID }}'
727+ project-slug : ' fastfetch'
728+ signing-policy-slug : ${{ github.ref == 'refs/heads/master' && 'release-signing' || 'test-signing' }}
729+ github-artifact-id : ' ${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
730+ wait-for-completion : true
731+ output-artifact-directory : ' .'
732+
637733 - name : create zip archive
638734 run : 7z a -tzip -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
639735
640736 - name : create 7z archive
641737 run : 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
642738
643- - name : upload artifacts
739+ - name : upload true artifacts
644740 uses : actions/upload-artifact@v4
645741 with :
646742 name : fastfetch-windows-${{ matrix.arch }}
647743 path : ./fastfetch-windows-${{ matrix.arch }}.*
744+ overwrite : true
648745
649746 release :
650747 if : github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch'
651748 name : Release
652749 runs-on : ubuntu-latest
653750 needs :
654751 - linux-hosts
752+ - linux-i686
655753 - linux-armv7l
656754 - linux-armv6l
657755 - linux-vms
0 commit comments