/ .github / workflows / update-flake.yml
update-flake.yml
 1  name: Job - Update Flake
 2  
 3  on:
 4    workflow_dispatch:
 5    schedule:
 6      - cron: "0 0 * * SUN" # Every sunday at midnight
 7  
 8  env:
 9    NIX_TARGET: config.system.build.toplevel
10  
11  jobs:
12    build:
13      strategy:
14        matrix:
15          items:
16            - os: ubuntu-latest
17              arch: x86_64-linux
18              parent: .#nixosConfigurations.battlecruiser
19      name: "Build ${{ matrix.items.arch }}"
20      runs-on: ${{ matrix.items.os }}
21      permissions:
22        contents: write
23        id-token: write
24      steps:
25        - uses: actions/checkout@v4
26  
27        - if: matrix.items.os == 'ubuntu-latest'
28          uses: jlumbroso/free-disk-space@main
29          with:
30            tool-cache: true
31            android: true
32            dotnet: true
33            haskell: true
34            large-packages: true
35            docker-images: true
36            swap-storage: true
37  
38        - uses: DeterminateSystems/nix-installer-action@main
39        - uses: DeterminateSystems/flakehub-cache-action@main
40  
41        - run: nix build ${{ matrix.items.parent }}."$NIX_TARGET"
42  
43        - uses: stefanzweifel/git-auto-commit-action@v5
44          with:
45            commit_message: "chore: update flake"