From 67343ccdc74e2825a59e80d2bbafacc529481e8c Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 29 Sep 2026 00:20:40 +0200 Subject: [PATCH] tools: fix Nix diff tools when pushing more than 1 commit Signed-off-by: Antoine du Hamel --- .github/workflows/nix-changes.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nix-changes.yml b/.github/workflows/nix-changes.yml index 8aeaf2c0e4e1..c80e9e53f546 100644 --- a/.github/workflows/nix-changes.yml +++ b/.github/workflows/nix-changes.yml @@ -68,10 +68,16 @@ jobs: - name: Compute requisites before change run: | - git reset HEAD^ --hard - # TODO(aduh95): remove this once list-requisites.sh has reached `main` - [ -f tools/nix/list-requisites.sh ] || git checkout FETCH_HEAD -- tools/nix/list-requisites.sh + BASE_SHA="$(git rev-parse HEAD^)" + if [ -n "$PUSH_BEFORE_SHA" ] && [ "$PUSH_BEFORE_SHA" != "$BASE_SHA" ] \ + && [ "$PUSH_BEFORE_SHA" != "0000000000000000000000000000000000000000" ] \ + && git fetch --no-tags --depth=1 origin "$PUSH_BEFORE_SHA"; then + BASE_SHA="$PUSH_BEFORE_SHA" + fi + git reset "$BASE_SHA" --hard ./tools/nix/list-requisites.sh > requisites-${{ matrix.system }}-before.list + env: + PUSH_BEFORE_SHA: ${{ github.event_name == 'push' && github.event.before || '' }} - name: Output diff run: |