Skip to content

CI: shell hook worktree-simulation tests fail in GitHub Actions (unrelated to #41) #42

Description

@jsirish

Context

The `ci` workflow was manually disabled repo-wide since 2026-07-08 (re-enabled while
landing #41's OpenCode-plugin fixes). First run after re-enabling surfaced pre-existing
failures in the `shell` job — unrelated to the OpenCode plugin, and not introduced by
that PR (no files under `hooks/` or `tests/` were touched there).

Failure

Run: https://github.com/dynamic/throughline/actions/runs/32142825506/job/95729343206

```
FAIL linked worktree data dir points at the MAIN tree (missing: wt-main/.claude/throughline)
got: /tmp/tmp.jUsbswpPUv/wt-linked/.claude/throughline
FAIL linked worktree data dir is NOT under the worktree itself (unexpected: wt-linked/.claude)
got: /tmp/tmp.jUsbswpPUv/wt-linked/.claude/throughline
FAIL onboard notes worktree data sharing (missing: shared with the main working tree)
got: ## throughline v0.12.0 - project session context

 No HANDOFF.md yet for this project. One will be written at the next handoff.

tests/run.sh: 347: cannot create /tmp/tmp.jUsbswpPUv/wt-ign-linked/.throughlineignore: Directory nonexistent
##[error]Process completed with exit code 2.
```

9 FAIL/error lines total. The failures cluster around `tests/run.sh`'s `git worktree`
simulation not resolving the linked worktree back to the main tree — plausibly a git
version difference on the `ubuntu-latest` runner vs. whatever was current when this
suite last ran (over a month ago), but not investigated further.

Locally (macOS, git 2.51), only one related test fails and differently:
`onboard does not note sharing from the main working tree` — a false positive in the
other direction. Same subsystem, different symptom, so this may be two separate git-version
sensitivities rather than one.

Why this matters

The workflow being silently disabled for 6+ weeks is exactly the kind of gap that let a
real regression (whatever changed to break worktree detection) go unnoticed. Re-enabling
it for #41 immediately paid for itself.

Scope

Not blocking #41 (only the shell hook / `tests/run.sh` is affected; the new
`opencode-plugin` CI job is green). Needs someone to reproduce on a Linux runner and
bisect what changed in `hooks/_lib.sh`'s worktree resolution or in `tests/run.sh`'s
worktree fixture setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions