From 1d394556b9522fc73f58741b79acb97db23bd37a Mon Sep 17 00:00:00 2001 From: Jack O'Sullivan Date: Mon, 3 Aug 2026 23:27:41 +0100 Subject: [PATCH] ci: Add throwaway readLinkAt repro workflow Reproduce the determinate-nix `readLinkAt.works` libutil test failure from the master CI run on the same runner, building `.#ci.x86_64-linux.shell` with `-L` to capture the full gtest assertion. Delete this branch once the log is collected. Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/repro.yaml | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .gitea/workflows/repro.yaml diff --git a/.gitea/workflows/repro.yaml b/.gitea/workflows/repro.yaml new file mode 100644 index 0000000..a960b52 --- /dev/null +++ b/.gitea/workflows/repro.yaml @@ -0,0 +1,44 @@ +name: CI repro (readLinkAt) + +# Throwaway workflow to reproduce the determinate-nix `readLinkAt.works` unit +# test failure seen in the master CI build, and capture the full gtest log. +# Runs only on this branch; delete the branch when done. + +on: + push: + branches: [ci-repro-readlinkat] + +jobs: + repro: + name: Reproduce determinate-nix test failure + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@v6 + - uses: DeterminateSystems/determinate-nix-action@v3 + with: + github-token: ${{ secrets.GH_PULL_TOKEN }} + extra-conf: | + sandbox-fallback = false + cores = 6 + + lazy-trees = true + eval-cores = 0 + + accept-flake-config = true + extra-substituters = https://nix-cache.nul.ie + extra-trusted-public-keys = nix-cache.nul.ie-1:BzH5yMfF4HbzY1C977XzOxoPhEc9Zbu39ftPkUbH+m4= + + - name: Build devshell with full logs + run: | + set -eo pipefail + # -L prints full build logs inline (including the gtest assertion that + # fails); --keep-going surfaces the failure without aborting early. + # determinate-nix isn't in the cache yet (the failing master run never + # pushed it), so this rebuilds it and reruns the unit tests. + nix build -L --keep-going --no-link .#ci.x86_64-linux.shell 2>&1 | tee repro.log + + - name: Show failing assertion + if: failure() + run: | + echo "===== readLinkAt / gtest failure detail =====" + grep -nE 'FAILED|readLinkAt|Failure|Expected|Actual|Value of|which is|error:' repro.log || true