magic-nix-cache/.github/workflows/build.yaml
2024-05-18 16:21:53 -03:00

49 lines
1.4 KiB
YAML

name: Build artifacts
on:
workflow_dispatch:
workflow_call:
jobs:
build-artifacts:
runs-on: ${{ matrix.systems.runner }}
env:
CLOSURE_FILE: magic-nix-cache.closure.xz
CLOSURE_KEY: magic-nix-cache-${{ matrix.systems.runner }}-${{ github.sha }}
strategy:
matrix:
systems:
- nix-system: x86_64-linux
system: X64-Linux
runner: ubuntu-22.04
- nix-system: aarch64-linux
system: ARM64-Linux
runner: namespace-profile-default-arm64
- nix-system: x86_64-darwin
system: X64-macOS
runner: macos-12
- nix-system: aarch64-darwin
system: ARM64-macOS
runner: macos-latest-xlarge
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build package
run: |
# Cache dev shell
nix build .#devShells.${{ matrix.systems.nix-system }}
nix build .# -L --fallback && nix-store --export $(nix-store -qR ./result) | xz -9 > "${{ env.CLOSURE_FILE }}"
- name: Upload a Build Artifact
uses: actions/upload-artifact@v3.1.2
with:
# Artifact name
name: magic-nix-cache-${{ matrix.systems.system }}
path: ${{ env.CLOSURE_FILE }}
retention-days: 1