Nix CI #516
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jobs: | |
nixCI: | |
name: Nix CI | |
permissions: | |
actions: write | |
contents: write | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout this repo | |
uses: actions/checkout@v3 | |
- name: Install Nix | |
uses: nixbuild/nix-quick-install-action@v25 | |
with: | |
nix_conf: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
substituters = https://cache.nixos.org/ https://nix-community.cachix.org https://cache.iog.io https://deemp.cachix.org | |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= deemp.cachix.org-1:9shDxyR2ANqEPQEEYDL/xIOnoPwxHot21L5fiZnFL18= | |
keep-outputs = true | |
- name: Restore and cache Nix store | |
uses: nix-community/cache-nix-action@v1 | |
with: | |
key: nix-${{ matrix.os }}-job-${{ hashfiles('**/flake.nix', '**/flake.lock') }} | |
linux-gc-enabled: true | |
linux-max-store-size: 5000000000 | |
macos-gc-enabled: true | |
macos-max-store-size: 5000000000 | |
restore-keys: | | |
nix-${{ matrix.os }}-job- | |
- name: Remove old cache profiles | |
run: rm -rf /nix/var/nix/profiles/cache | |
- if: matrix.os == 'ubuntu-22.04' | |
name: Configure git for github-actions | |
run: | | |
git config --global user.name github-actions | |
git config --global user.email github-actions@github.com | |
- if: matrix.os == 'ubuntu-22.04' | |
name: Format Nix files | |
run: |- | |
nix profile install nix-dev/#format | |
nix run nix-dev/#format | |
- if: matrix.os == 'ubuntu-22.04' | |
name: Update flake locks | |
run: |- | |
nix profile install nix-dev/#updateLocks | |
nix run nix-dev/#updateLocks | |
- if: matrix.os == 'ubuntu-22.04' | |
name: Commit & Push | |
run: |- | |
git pull --rebase --autostash | |
git add . | |
git commit \ | |
-m "action" \ | |
-m "Format Nix files" \ | |
-m "Update flake locks" \ | |
|| echo "commit failed!" | |
git push | |
- name: Save flakes | |
run: |- | |
nix profile install nix-dev/#saveFlakes | |
nix run nix-dev/#saveFlakes | |
- name: Purge cache | |
uses: deemp/purge-cache@v1 | |
with: | |
accessed: false | |
created: true | |
debug: true | |
max-age: 172800 | |
strategy: | |
matrix: | |
os: | |
- macos-11 | |
- macos-12 | |
- ubuntu-20.04 | |
- ubuntu-22.04 | |
name: Nix CI | |
"on": | |
pull_request: {} | |
push: {} | |
schedule: | |
- cron: 0 0 * * * | |
workflow_dispatch: {} |