name: CI on: push: branches: ["main"] pull_request: workflow_dispatch: jobs: build: strategy: matrix: os: [macos-latest] include: - os: ubuntu-latest arch: "x86_64" - os: ubuntu-latest arch: "aarch64" runs-on: ${{ matrix.os }} continue-on-error: true steps: - uses: actions/checkout@v4 - name: Setup QEMU if: matrix.arch == 'aarch64' uses: docker/setup-qemu-action@v3 with: platforms: arm64 - name: Install Nix if: matrix.arch != 'aarch64' uses: DeterminateSystems/nix-installer-action@v8 - name: Install Nix (with aarch64) if: matrix.arch == 'aarch64' uses: DeterminateSystems/nix-installer-action@v8 with: extra-conf: "extra-platforms = aarch64-linux arm-linux" - name: Setup cache uses: DeterminateSystems/magic-nix-cache-action@v2 - name: Run build if: matrix.arch != 'aarch64' run: nix build -L - name: Run ARM build if: matrix.arch == 'aarch64' run: nix build -Lv .#packages.${{ matrix.arch }}-linux.default check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@v8 - name: Setup cache uses: DeterminateSystems/magic-nix-cache-action@v2 - name: Run check run: nix flake check --show-trace