Skip to content

feat(nix): enable checks on aarch64 #239

feat(nix): enable checks on aarch64

feat(nix): enable checks on aarch64 #239

Workflow file for this run

name: CI
on:
- push
jobs:
Check:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: cachix/install-nix-action@v30
- name: Cache
uses: cachix/cachix-action@v15
with:
name: softvare-group
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Check
run: nix flake check -L
Build:
strategy:
fail-fast: false
matrix:
target:
- double: aarch64-linux # target we are building for
runner: ubuntu-24.04-arm # GitHub runner the build is running on
interpreter: /lib/ld-linux-aarch64.so.1 # path to libc interpreter
- double: x86_64-linux
runner: ubuntu-24.04
interpreter: /lib64/ld-linux-x86-64.so.2
- double: x86_64-darwin
runner: macos-13
- double: aarch64-darwin
runner: macos-15
variant:
- flake: ddnnife
artifact: ''
- flake: ddnnife-d4-bundled
artifact: '-d4'
exclude:
- target: { double: x86_64-linux }
variant: { flake: ddnnife }
- target: { double: aarch64-linux }
variant: { flake: ddnnife }
include:
- target: { double: aarch64-linux, runner: ubuntu-24.04-arm }
variant: { flake: ddnnife-static, artifact: '' }
- target: { double: x86_64-linux, runner: ubuntu-24.04 }
variant: { flake: ddnnife-static, artifact: '' }
- target: { double: x86_64-windows, runner: ubuntu-24.04 }
variant: { flake: ddnnife-windows, artifact: '' }
- target: { double: x86_64-windows, runner: ubuntu-24.04 }
variant: { flake: ddnnife-windows-d4-bundled, artifact: '-d4' }
runs-on: ${{ matrix.target.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: cachix/install-nix-action@v30
- name: Cache
uses: cachix/cachix-action@v15
with:
name: softvare-group
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Build
run: nix build -L .#${{ matrix.variant.flake }}
- name: Set interpreter
if: ${{ matrix.target.interpreter }}
run: |
cp -rL result output
rm -rf result
chmod +w output/bin/*
nix run nixpkgs#patchelf -- --set-interpreter ${{ matrix.target.interpreter }} output/bin/*
chmod -w output/bin/*
mv output result
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ddnnife-${{ matrix.target.double }}${{ matrix.variant.artifact }}
path: result