mirror of
https://github.com/traxys/Nixfiles.git
synced 2026-02-14 03:10:19 +01:00
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
name: "Build"
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
load_packages:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: cachix/install-nix-action@v20
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v12
|
|
with:
|
|
name: traxys
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
- id: load-packages
|
|
run: >
|
|
echo "matrix=$(nix flake show --json | jq -c '.packages."x86_64-linux" | keys')" | tee -a $GITHUB_OUTPUT
|
|
|
|
outputs:
|
|
matrix: ${{ steps.load-packages.outputs.matrix }}
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
needs: load_packages
|
|
strategy:
|
|
matrix:
|
|
package: ${{ fromJson(needs.load_packages.outputs.matrix) }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: cachix/install-nix-action@v20
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v12
|
|
with:
|
|
name: traxys
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
- run: NIXPKGS_ALLOW_UNFREE=1 nix build --impure '.#${{ matrix.package }}'
|
|
- run: nix build .#checks.x86_64-linux.launch
|
|
|
|
# This allows us to have a branch protection with matrix
|
|
build-status:
|
|
runs-on: ubuntu-latest
|
|
needs: [build]
|
|
if: always()
|
|
steps:
|
|
- name: Successful build
|
|
if: ${{ !(contains(needs.*.result, 'failure')) }}
|
|
run: exit 0
|
|
- name: Failing build
|
|
if: ${{ contains(needs.*.result, 'failure') }}
|
|
run: exit 1
|