From 67cbe433d505f091fe12481f37966a7751b68ba5 Mon Sep 17 00:00:00 2001 From: Carlos Henrique Lima Melara Date: Mon, 7 Oct 2024 17:52:27 -0300 Subject: [PATCH] github: workflows: add deb-builder.yml and remove ci.yml Related-to: TCCP-845 Signed-off-by: Carlos Henrique Lima Melara --- .github/workflows/ci.yml | 639 ------------------------------ .github/workflows/deb-builder.yml | 79 ++++ 2 files changed, 79 insertions(+), 639 deletions(-) delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/deb-builder.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 3030dab..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,639 +0,0 @@ -name: CI - -on: - - push - - pull_request - -jobs: - spellcheck: - runs-on: ubuntu-latest - - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: Install codespell - shell: bash - run: | - sudo apt-get update || true - sudo apt-get install -y codespell - - - name: Run Spellchecker - run: codespell - - no-features-test: - name: No-features-test - runs-on: ubuntu-latest - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: uname -a - run: uname -a - - - name: configure project - run: cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr . -DENABLE_VULKAN=OFF -DENABLE_WAYLAND=OFF -DENABLE_XCB_RANDR=OFF -DENABLE_XCB=OFF -DENABLE_XRANDR=OFF -DENABLE_X11=OFF -DENABLE_DRM=OFF -DENABLE_GIO=OFF -DENABLE_DCONF=OFF -DENABLE_DBUS=OFF -DENABLE_XFCONF=OFF -DENABLE_SQLITE3=OFF -DENABLE_RPM=OFF -DENABLE_IMAGEMAGICK7=OFF -DENABLE_IMAGEMAGICK6=OFF -DENABLE_CHAFA=OFF -DENABLE_ZLIB=OFF -DENABLE_EGL=OFF -DENABLE_GLX=OFF -DENABLE_OSMESA=OFF -DENABLE_OPENCL=OFF -DENABLE_FREETYPE=OFF -DENABLE_PULSE=OFF -DENABLE_DDCUTIL=OFF -DENABLE_ELF=OFF -DENABLE_DIRECTX_HEADERS=OFF -DENABLE_THREADS=OFF - - - name: build project - run: cmake --build . --target package --verbose -j4 - - - name: list features - run: ./fastfetch --list-features - - - name: run fastfetch - run: time ./fastfetch -c presets/ci.jsonc --stat false - - - name: run fastfetch --format json - run: time ./fastfetch -c presets/ci.jsonc --format json - - - name: run flashfetch - run: time ./flashfetch - - - name: print dependencies - run: ldd fastfetch - - - name: run tests - run: ctest - - linux-amd64: - name: Linux-amd64 - runs-on: ubuntu-20.04 - permissions: - security-events: write - contents: read - outputs: - ffversion: ${{ steps.ffversion.outputs.ffversion }} - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: uname -a - run: uname -a - - - name: install required packages - 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 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 - - - name: install linuxbrew packages - run: | - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - /home/linuxbrew/.linuxbrew/bin/brew install imagemagick chafa ddcutil --ignore-dependencies - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: c - - - name: configure project - run: PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr . - - - name: build project - run: cmake --build . --target package --verbose -j4 - - - name: perform CodeQL analysis - uses: github/codeql-action/analyze@v3 - - - name: list features - run: ./fastfetch --list-features - - - name: run fastfetch - run: time ./fastfetch -c presets/ci.jsonc --stat false - - - name: run fastfetch --format json - run: time ./fastfetch -c presets/ci.jsonc --format json - - - name: run flashfetch - run: time ./flashfetch - - - name: print dependencies - run: ldd fastfetch - - - name: run tests - run: ctest - - - name: get fastfetch version - id: ffversion - run: echo "ffversion=$(./fastfetch --version-raw)" >> $GITHUB_OUTPUT - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-linux-amd64 - path: ./fastfetch-*.* - - linux-aarch64: - name: Linux-aarch64 - runs-on: ubuntu-22.04 - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: run VM - uses: uraimo/run-on-arch-action@v2 - id: runcmd - with: - arch: aarch64 - distro: ubuntu20.04 - githubToken: ${{ github.token }} - run: | - uname -a - 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 libelf-dev directx-headers-dev rpm - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr . - cmake --build . --target package --verbose -j4 - ./fastfetch --list-features - time ./fastfetch -c presets/ci.jsonc --stat false - time ./fastfetch -c presets/ci.jsonc --format json - time ./flashfetch - ldd fastfetch - ctest - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-linux-aarch64 - path: ./fastfetch-*.* - - linux-armv7: - name: Linux-armv7 - runs-on: ubuntu-22.04 - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: run VM - uses: uraimo/run-on-arch-action@v2 - id: runcmd - with: - arch: armv7 - distro: ubuntu20.04 - githubToken: ${{ github.token }} - run: | - uname -a - apt-get update && apt-get install -y wget - # CMake installed by apt has bug `list sub-command REMOVE_ITEM requires two or more arguments` - 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} - dpkg -i *.deb - 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 - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr . - cmake --build . --target package --verbose -j4 - ./fastfetch --list-features - time ./fastfetch -c presets/ci.jsonc --stat false - time ./fastfetch -c presets/ci.jsonc --format json - time ./flashfetch - ldd fastfetch - ctest - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-linux-armv7 - path: ./fastfetch-*.* - - linux-riscv64: - name: Linux-riscv64 - runs-on: ubuntu-22.04 - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: run VM - uses: uraimo/run-on-arch-action@v2 - id: runcmd - with: - arch: riscv64 - distro: ubuntu22.04 - githubToken: ${{ github.token }} - run: | - uname -a - 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 - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr . - cmake --build . --target package --verbose -j4 - ./fastfetch --list-features - time ./fastfetch -c presets/ci.jsonc --stat false - time ./fastfetch -c presets/ci.jsonc --format json - time ./flashfetch - ldd fastfetch - ctest - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-linux-riscv64 - path: ./fastfetch-*.* - - musl-amd64: - name: Musl-amd64 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: setup alpine linux - uses: jirutka/setup-alpine@master - with: - branch: v3.19 - - - name: install dependencies - run: | - cat /etc/alpine-release - uname -a - 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++ - shell: alpine.sh --root {0} - - - name: build - run: | - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja . - cmake --build . --target package --verbose -j4 - shell: alpine.sh {0} - - - name: run - run: | - ./fastfetch --list-features - time ./fastfetch -c presets/ci.jsonc --stat false - time ./fastfetch -c presets/ci.jsonc --format json - time ./flashfetch - ldd fastfetch - ctest - shell: alpine.sh {0} - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-musl-amd64 - path: ./fastfetch-*.* - - musl-aarch64: - name: Musl-aarch64 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: setup alpine linux - uses: jirutka/setup-alpine@master - with: - branch: v3.19 - arch: aarch64 - - - name: install dependencies - run: | - cat /etc/alpine-release - uname -a - 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++ - shell: alpine.sh --root {0} - - - name: build - run: | - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr -DIS_MUSL=ON -GNinja . - cmake --build . --target package --verbose -j4 - shell: alpine.sh {0} - - - name: run - run: | - ./fastfetch --list-features - time ./fastfetch -c presets/ci.jsonc --stat false - time ./fastfetch -c presets/ci.jsonc --format json - time ./flashfetch - ldd fastfetch - ctest - shell: alpine.sh {0} - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-musl-aarch64 - path: ./fastfetch-*.* - - macos-universal: - name: macOS-universal - runs-on: macos-12 - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: uname -a - run: uname -a - - - name: install required packages - run: | - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install --overwrite vulkan-loader vulkan-headers molten-vk imagemagick chafa - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: c - - - name: configure project - run: cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' . - - - name: build project - run: cmake --build . --target package --verbose -j4 - - - name: perform CodeQL analysis - uses: github/codeql-action/analyze@v3 - - - name: list features - run: ./fastfetch --list-features - - - name: run fastfetch - run: time ./fastfetch -c presets/ci.jsonc --stat false - - - name: run fastfetch --format json - run: time ./fastfetch -c presets/ci.jsonc --format json - - - name: run flashfetch - run: time ./flashfetch - - - name: print dependencies - run: otool -L fastfetch - - - name: run tests - run: ctest - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-macos-universal - path: ./fastfetch-*.* - - sunos-amd64: - runs-on: ubuntu-latest - name: SunOS-amd64 - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: run VM - uses: vmactions/omnios-vm@v1 - with: - usesh: true - prepare: | - uname -a - pkg update --accept - pkg install gcc13 cmake git pkg-config glib2 dbus sqlite-3 imagemagick - - run: | - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On . - cmake --build . --target package --verbose -j4 - ./fastfetch --list-features - time ./fastfetch - time ./fastfetch --format json - time ./flashfetch - ldd fastfetch - ctest - cpack - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-sunos-amd64 - path: ./fastfetch-*.* - - freebsd-amd64: - name: FreeBSD-amd64 - runs-on: ubuntu-latest - permissions: - security-events: write - contents: read - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: run VM - uses: cross-platform-actions/action@master - with: - operating_system: freebsd - architecture: x86-64 - cpu_count: 4 - shell: bash - version: '14.1' - run: | - uname -a - sudo pkg update - 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 - cmake -DSET_TWEAK=Off -DBUILD_TESTS=On . - cmake --build . --target package --verbose -j4 - ./fastfetch --list-features - time ./fastfetch - time ./fastfetch --format json - time ./flashfetch - ldd fastfetch - ctest - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-freebsd-amd64 - path: ./fastfetch-*.* - - windows-amd64: - name: Windows-amd64 - runs-on: windows-latest - permissions: - security-events: write - contents: read - defaults: - run: - shell: msys2 {0} - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: setup-msys2 - uses: msys2/setup-msys2@v2 - with: - msystem: CLANG64 - update: true - 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 - - - name: print msys version - run: uname -a - - - name: configure project - run: env PKG_CONFIG_PATH=/clang64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On . - - - name: build project - run: cmake --build . --verbose -j4 - - - name: copy necessary dlls - run: cp /clang64/bin/{OpenCL,vulkan-1}.dll . - - - name: download amd_ags - run: curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x64.dll - - - name: list features - run: ./fastfetch --list-features - - - name: run fastfetch - run: time ./fastfetch -c presets/ci.jsonc --stat false - - - name: run fastfetch --format json - run: time ./fastfetch -c presets/ci.jsonc --format json - - - name: run flashfetch - run: time ./flashfetch - - - name: print dependencies - run: ldd fastfetch - - - name: run tests - run: ctest - - - name: create zip archive - run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets - - - name: create 7z archive - run: 7z a -t7z -mx9 -bd -y fastfetch-windows-amd64.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-windows-amd64 - path: ./fastfetch-windows-amd64.* - - windows-i686: - name: Windows-i686 - runs-on: windows-latest - permissions: - security-events: write - contents: read - defaults: - run: - shell: msys2 {0} - steps: - - name: checkout repository - uses: actions/checkout@v4 - - - name: setup-msys2 - uses: msys2/setup-msys2@v2 - with: - msystem: CLANG32 - update: true - 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 - - - name: print msys version - run: uname -a - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: c, cpp - - - name: configure project - run: env PKG_CONFIG_PATH=/clang32/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On . - - - name: build project - run: cmake --build . --verbose -j4 - - - name: perform CodeQL analysis - uses: github/codeql-action/analyze@v3 - - - name: copy necessary dlls - run: cp /clang32/bin/{OpenCL,vulkan-1}.dll . - - - name: download amd_ags - run: curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x86.dll - - - name: run fastfetch - run: time ./fastfetch -c presets/ci.jsonc --stat false - - - name: run fastfetch --format json - run: time ./fastfetch -c presets/ci.jsonc --format json - - - name: run flashfetch - run: time ./flashfetch - - - name: print dependencies - run: ldd fastfetch - - - name: run tests - run: ctest - - - name: create zip archive - run: 7z a -tzip -mx9 -bd -y fastfetch-windows-i686.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets - - - name: create 7z archive - run: 7z a -t7z -mx9 -bd -y fastfetch-windows-i686.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: fastfetch-windows-i686 - path: ./fastfetch-windows-i686.* - - release: - if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch' - name: Release - runs-on: ubuntu-latest - needs: - - linux-amd64 - - linux-aarch64 - - linux-armv7 - - linux-riscv64 - - musl-amd64 - - musl-aarch64 - - macos-universal - - freebsd-amd64 - - sunos-amd64 - - windows-amd64 - - windows-i686 - permissions: - contents: write - steps: - - name: get latest release version - id: get_version_release - uses: pozetroninc/github-action-get-latest-release@master - with: - repository: ${{ github.repository }} - - - name: download artifacts - if: needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release - uses: actions/download-artifact@v4 - - - name: create release - if: needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release - uses: ncipollo/release-action@v1 - with: - tag: ${{ needs.linux-amd64.outputs.ffversion }} - commit: ${{ github.sha }} - artifactErrorsFailBuild: true - artifacts: fastfetch-*/fastfetch-* - body: "Please refer to [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/${{ needs.linux-amd64.outputs.ffversion }}/CHANGELOG.md) for details." - - - name: download source tarballs - if: needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release - run: | - 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 - ls fastfetch-*/* - - - name: generate release notes - if: needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release - run: | - 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 - echo -e "\n---\n\n
SHA256SUMs
\n\n\`\`\`" >> fastfetch-release-notes.md - sha256sum fastfetch-*/* >> fastfetch-release-notes.md - echo -e "\`\`\`\n
" >> fastfetch-release-notes.md - echo -e "\n
SHA512SUMs
\n\n\`\`\`" >> fastfetch-release-notes.md - sha512sum fastfetch-*/* >> fastfetch-release-notes.md - echo -e "\`\`\`\n
" >> fastfetch-release-notes.md - - - name: update release body - if: needs.linux-amd64.outputs.ffversion != steps.get_version_release.outputs.release - uses: ncipollo/release-action@v1 - with: - tag: ${{ needs.linux-amd64.outputs.ffversion }} - commit: ${{ github.sha }} - bodyFile: fastfetch-release-notes.md - allowUpdates: true diff --git a/.github/workflows/deb-builder.yml b/.github/workflows/deb-builder.yml new file mode 100644 index 0000000..53d7f5d --- /dev/null +++ b/.github/workflows/deb-builder.yml @@ -0,0 +1,79 @@ +on: push + +jobs: + build-debs: + permissions: + id-token: write + contents: read + attestations: write + strategy: + fail-fast: false + matrix: + arch: ['amd64', 'arm64', 'armhf'] + uses: torizon/torizon-deb-ci/.github/workflows/toradex-deb-ci.yml@main + with: + arch: ${{ matrix.arch }} + distribution: bookworm + docker-image: debian:bookworm + package-name: fastfetch + run-attestation: true + run-piuparts: false + upload-artifacts: true + extra-repos: | + Types: deb + URIs: https://feeds.toradex.com/stable/upstream + Suites: stable + Components: main non-free + Signed-By: -----BEGIN PGP PUBLIC KEY BLOCK----- + . + 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 + CvvuQQ== + =VfKA + -----END PGP PUBLIC KEY BLOCK----- +