CI (Linux): adds loong64 build workflow (#2469)

* CI: add loong64 build workflow

Add reusable workflow for building fastfetch on LoongArch 64-bit
architecture using QEMU user-mode emulation + Docker container
(lcr.loongnix.cn/debian:14). Integrate into CI pipeline and
release dependencies.

* CI (loong64): pin docker/setup-qemu-action to full commit SHA

Pin to 06116385d9baf250c9f4dcb4858b16962ea869c3 (v4.1.0) for
immutable action reference as required by Codacy.
This commit is contained in:
徐晓伟
2026-07-21 21:14:38 +08:00
committed by GitHub
parent 0b72c9b083
commit dda39f0c67
2 changed files with 67 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
name: Reusable Linux loong64
on:
workflow_call:
env:
CMAKE_BUILD_TYPE: ${{ vars.CMAKE_BUILD_TYPE || 'RelWithDebInfo' }}
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: checkout repository
uses: actions/checkout@v7
- name: set up QEMU for loong64
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- name: build in loong64 container
run: |
docker run --rm --platform linux/loong64 \
-v ${{ github.workspace }}:/workspace \
-w /workspace \
lcr.loongnix.cn/debian:14 \
bash -c '
set -e
uname -a
cat /etc/os-release || true
apt-get update
apt-get install -y --no-install-recommends \
cmake make gcc 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 libefl-all-dev \
liblua5.4-dev \
libvdpau-dev libva-dev \
rpm
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
cmake --build . --target package --verbose -j$(nproc)
./fastfetch --list-features
time ./fastfetch -c presets/ci.jsonc --stat false
time ./fastfetch -c presets/ci.jsonc --format json
time ./flashfetch
ldd fastfetch
ctest --output-on-failure
'
- name: upload artifacts
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-loong64
path: ./fastfetch-*.*
+10
View File
@@ -54,6 +54,15 @@ jobs:
uses: ./.github/workflows/build-linux-armv7l.yml
secrets: inherit
linux-loong64:
needs: no-features-test
name: Linux-loong64
permissions:
security-events: write
contents: read
uses: ./.github/workflows/build-linux-loong64.yml
secrets: inherit
linux-vms:
needs: no-features-test
name: Linux-${{ matrix.arch }}
@@ -188,6 +197,7 @@ jobs:
- linux-hosts
- linux-i686
- linux-armv7l
- linux-loong64
- linux-vms
- musl-amd64
- macos-hosts