chore(deps): lock file maintenance #1567
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
# SPDX-FileCopyrightText: Andrew Hayzen <ahayzen@gmail.com> | |
# | |
# SPDX-License-Identifier: MPL-2.0 | |
name: check | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
# Cancel any previous runs for the same pull request | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
license-check: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: REUSE Compliance Check | |
uses: fsfe/reuse-action@v5 | |
flake-checker: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: DeterminateSystems/flake-checker-action@v9 | |
nix-fmt: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: DeterminateSystems/nix-installer-action@v16 | |
- uses: DeterminateSystems/magic-nix-cache-action@v8 | |
- name: nix fmt | |
run: nix fmt | |
- name: git diff | |
run: git diff --exit-code | |
shellcheck: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
# Shellcheck should already be installed on github runners | |
- name: install shellcheck | |
run: sudo apt install --yes shellcheck | |
- name: shellcheck | |
run: shellcheck scripts/*.sh | |
nix-build-check: | |
# Run after pre checks | |
needs: [license-check, flake-checker, nix-fmt, shellcheck] | |
runs-on: ubuntu-24.04 | |
name: "nix-build-check-${{ matrix.test }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
test: | |
- desktop-test | |
- lab-actual-test | |
- lab-audiobookshelf-test | |
- lab-bitwarden-test | |
- lab-immich-test | |
- lab-jellyfin-test | |
- lab-joplin-test | |
- lab-restic-test | |
- lab-sftpgo-test | |
- vps-test | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: DeterminateSystems/nix-installer-action@v16 | |
- uses: DeterminateSystems/magic-nix-cache-action@v8 | |
- name: nix build | |
# nix flake check doesn't have a way to specify a specific test to run | |
# https://github.com/NixOS/nix/issues/8881 | |
run: nix build --option sandbox false --print-build-logs .#checks.x86_64-linux.${{ matrix.test }} | |
nix-eval-home-configuration: | |
# Run after pre checks | |
needs: [license-check, flake-checker, nix-fmt, shellcheck] | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: DeterminateSystems/nix-installer-action@v16 | |
- uses: DeterminateSystems/magic-nix-cache-action@v8 | |
- name: nix eval | |
run: | | |
nix eval .#homeConfigurations.andrew.activationPackage.drvPath | |
nix eval .#homeConfigurations.andrew-kdab.activationPackage.drvPath | |
nixos-anywhere-vm-test: | |
# Run after pre checks | |
needs: [license-check, flake-checker, nix-fmt, shellcheck] | |
runs-on: ubuntu-24.04 | |
name: "nixos-anywhere-${{ matrix.test }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
test: | |
- lab-vm-test | |
- vps-vm-test | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: DeterminateSystems/nix-installer-action@v16 | |
- uses: DeterminateSystems/magic-nix-cache-action@v8 | |
- name: nixos-anywhere --vm-test | |
# Use stable version from nixpkgs due to | |
# https://github.com/nix-community/nixos-anywhere/issues/375 | |
# instead of github:nix-community/nixos-anywhere | |
# | |
# TODO: can we pin this version to a release? | |
run: nix run nixpkgs#nixos-anywhere -- --flake .#${{ matrix.test }} --vm-test |