60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
name: Integration tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@main
|
|
|
|
- uses: DeterminateSystems/magic-nix-cache-action@main
|
|
|
|
- name: Build package
|
|
run: "nix build .# -L --fallback && nix-store --export $(nix-store -qR ./result) | xz -9 > magic-nix-cache.closure.xz"
|
|
|
|
- name: Cache magix-nix-cache closure
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: magic-nix-cache.closure.xz
|
|
key: magic-nix-cache-${{ github.sha }}
|
|
|
|
test-magic-nix-cache-action:
|
|
needs: build-linux
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
steps:
|
|
- name: Restore magix-nix-cache closure
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: magic-nix-cache.closure.xz
|
|
key: magic-nix-cache-${{ github.sha }}
|
|
fail-on-cache-miss: true
|
|
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@main
|
|
|
|
- name: Extract
|
|
id: extract
|
|
run: |
|
|
OUTPUT=$(cat magic-nix-cache.closure.xz | xz -d | nix-store --import)
|
|
MNC_BIN_PATH=$(echo "${OUTPUT}" | tail -n 1)
|
|
MAGIC_NIX_CACHE="${MNC_BIN_PATH}/bin/magic-nix-cache"
|
|
|
|
echo "mnc-path=${MAGIC_NIX_CACHE}" >> "$GITHUB_OUTPUT"
|
|
|
|
- uses: DeterminateSystems/magic-nix-cache-action@main
|
|
with:
|
|
source-binary: "${{ steps.extract.outputs.mnc-path }}"
|