From ff052cd17537082ebaa74ad214b79f3e497487ae Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Tue, 29 Sep 2026 18:37:45 +0000 Subject: [PATCH 1/2] ci: install lld for building libpathrs libpathrs links its shared library with lld. So far this worked only because we build on x86_64, where Rust ships its own rust-lld. Install the system lld so that the build works on other architectures as well. Signed-off-by: Martin Pitt --- .github/actions/setup-libpathrs/action.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup-libpathrs/action.yml b/.github/actions/setup-libpathrs/action.yml index d05572b..f133640 100644 --- a/.github/actions/setup-libpathrs/action.yml +++ b/.github/actions/setup-libpathrs/action.yml @@ -42,7 +42,12 @@ runs: if: steps.cache-libpathrs.outputs.cache-hit != 'true' shell: bash working-directory: ${{ runner.temp }}/libpathrs-${{ inputs.version }} - run: make release + # libpathrs links its cdylib with lld. On x86_64 Rust ships its own + # rust-lld, but other architectures need the system one. + run: | + sudo apt-get update + sudo apt-get install -y lld + make release - name: install libpathrs shell: bash From ab3d851ea33db01d103cfec5922c5b83da634c08 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Tue, 29 Sep 2026 16:00:19 +0000 Subject: [PATCH 2/2] ci: build and test on arm64 We want to support aarch64 machines, so build and run the unit tests there too. The other jobs are architecture independent. Pin the runner image to ubuntu-24.04 to have a matching x86_64/arm64 pair (there is no`ubuntu-latest-arm`). Signed-off-by: Martin Pitt --- .github/workflows/ci.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74538fe..dfc48d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,11 +27,15 @@ concurrency: jobs: build: - name: go build - runs-on: ubuntu-latest + name: go build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} timeout-minutes: 30 permissions: contents: read + strategy: + fail-fast: false + matrix: + os: [ ubuntu-24.04, ubuntu-24.04-arm ] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -101,11 +105,15 @@ jobs: contrib/rpm/quarry.spec go-test: - name: go test - runs-on: ubuntu-latest + name: go test (${{ matrix.os }}) + runs-on: ${{ matrix.os }} timeout-minutes: 30 permissions: contents: read + strategy: + fail-fast: false + matrix: + os: [ ubuntu-24.04, ubuntu-24.04-arm ] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: