mirror of
https://github.com/traxys/Nixfiles.git
synced 2026-02-13 19:00:19 +01:00
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
name: "Build"
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: cachix/install-nix-action@v27
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v15
|
|
with:
|
|
name: traxys
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
- run: nix build .#checks.x86_64-linux.neovimTraxys
|
|
# - run: nix profile install nixpkgs#nixos-rebuild nixpkgs#home-manager
|
|
# - run: nixos-rebuild build --flake .#ZeNixComputa
|
|
# - run: nixos-rebuild build --flake .#gandalf
|
|
# - run: home-manager build --flake .#"boyerq@thinkpad-nixos"
|
|
|
|
load_packages:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: cachix/install-nix-action@v27
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v15
|
|
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@v27
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v15
|
|
with:
|
|
name: traxys
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
- run: NIXPKGS_ALLOW_UNFREE=1 nix build --impure '.#${{ matrix.package }}'
|
|
|
|
# This allows us to have a branch protection with matrix
|
|
build-status:
|
|
runs-on: ubuntu-latest
|
|
needs: [build, check]
|
|
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
|