From 4890e7a953bb4da423524ca3dbf7cf4316f6fecf Mon Sep 17 00:00:00 2001 From: Amadey Vorontsov Date: Mon, 18 May 2026 18:23:59 +0000 Subject: [PATCH 1/3] ci: nodejs in job image, fetch-depth=0 for base diff --- .gitea/workflows/validate-pr.yml | 2 ++ runner/flake.nix | 1 + 2 files changed, 3 insertions(+) diff --git a/.gitea/workflows/validate-pr.yml b/.gitea/workflows/validate-pr.yml index 14f60ec..879d660 100644 --- a/.gitea/workflows/validate-pr.yml +++ b/.gitea/workflows/validate-pr.yml @@ -10,6 +10,8 @@ jobs: runs-on: self-hosted steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # need full history for `git diff base...HEAD` # 1. Identify which recipes the PR touches. - name: detect changed packages diff --git a/runner/flake.nix b/runner/flake.nix index af46c70..645a1f4 100644 --- a/runner/flake.nix +++ b/runner/flake.nix @@ -42,6 +42,7 @@ curl jq tea + nodejs_20 # JS-based actions/checkout@v4 etc. need `node` on PATH cacert iana-etc From 45b9cd2bc1b2bcda7135c6b1c30fb757b057b3e7 Mon Sep 17 00:00:00 2001 From: Amadey Vorontsov Date: Mon, 18 May 2026 18:25:39 +0000 Subject: [PATCH 2/3] runner: mkdir etc/nix (was etc/) so config write succeeds --- runner/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/flake.nix b/runner/flake.nix index 645a1f4..d76b95c 100644 --- a/runner/flake.nix +++ b/runner/flake.nix @@ -51,7 +51,7 @@ # Skeleton filesystem layout: /tmp, /etc/passwd for nix, # writable nix store, cacert pointer. extraCommands = '' - mkdir -p tmp etc nix/var/{nix,log/nix} root + mkdir -p tmp etc/nix nix/var/{nix,log/nix} root chmod 1777 tmp cat > etc/passwd <<'EOF' From 27943a53b0d2f933110032cf3463cd54e9014776 Mon Sep 17 00:00:00 2001 From: Amadey Vorontsov Date: Mon, 18 May 2026 18:31:14 +0000 Subject: [PATCH 3/3] ci: explicitly fetch PR base SHA before diff --- .gitea/workflows/validate-pr.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/validate-pr.yml b/.gitea/workflows/validate-pr.yml index 879d660..d9e8ce4 100644 --- a/.gitea/workflows/validate-pr.yml +++ b/.gitea/workflows/validate-pr.yml @@ -19,6 +19,10 @@ jobs: run: | set -e base="${{ github.event.pull_request.base.sha }}" + # act's actions/checkout@v4 doesn't reliably pull the base SHA + # into the local history even with fetch-depth: 0. Fetch it + # explicitly so the three-dot diff resolves. + git fetch --depth=1 origin "$base" || git fetch --depth=1 origin changed=$(git diff --name-only "$base"...HEAD -- 'recipes/' \ | awk -F/ '{print $2}' | sort -u) if [[ -z "$changed" ]]; then