From 95316ced467fa90d6c87b6a3f8d562b1b383bd11 Mon Sep 17 00:00:00 2001 From: Igor Ramazanov Date: Wed, 12 Mar 2025 23:59:03 +0000 Subject: [PATCH] feat: nix: CI without depending on flakehub.com --- .github/workflows/nix-update-lock.yaml | 19 +++++++++++++++++++ .github/workflows/nix.yaml | 15 +++++++++------ flake.nix | 8 ++++++-- 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/nix-update-lock.yaml diff --git a/.github/workflows/nix-update-lock.yaml b/.github/workflows/nix-update-lock.yaml new file mode 100644 index 0000000..1a69c89 --- /dev/null +++ b/.github/workflows/nix-update-lock.yaml @@ -0,0 +1,19 @@ +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 0' + +jobs: + update-flake-inputs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/update-flake-lock@main + with: + pr-title: "Update flake.lock" + pr-labels: | + dependencies + automated + - uses: DeterminateSystems/flake-checker-action@main + - run: nix flake check --all-systems diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml index 97c19f4..77719fa 100644 --- a/.github/workflows/nix.yaml +++ b/.github/workflows/nix.yaml @@ -4,17 +4,20 @@ on: push: branches: - main - - nix tags: - v?[0-9]+.[0-9]+.[0-9]+* - + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: nix-ci: - uses: DeterminateSystems/ci/.github/workflows/workflow.yml@main - permissions: - id-token: write - contents: read + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + with: + determinate: true + - uses: DeterminateSystems/flake-checker-action@main + - run: nix flake check --all-systems diff --git a/flake.nix b/flake.nix index 9572c20..9229532 100644 --- a/flake.nix +++ b/flake.nix @@ -26,13 +26,17 @@ rec { inherit system; overlays = [devshell.overlays.default]; }; - in { + in rec { formatter = pkgs.alejandra; packages = { headplane = pkgs.callPackage ./nix/package.nix {}; headplane-agent = pkgs.callPackage ./nix/agent.nix {}; }; - devShell = pkgs.devshell.mkShell rec { + checks.default = pkgs.symlinkJoin { + name = "headplane-with-agent"; + paths = [packages.headplane packages.headplane-agent]; + }; + devShells.default = pkgs.devshell.mkShell rec { name = description; motd = let providedPackages = pkgs.lib.concatStringsSep "\n" (