Skip to content

e2e.sh: untracked-file collisions abort provisioning; failed restore brings up CANONICAL_DIR even when the live stack runs from a bundle dir #454

Description

@VijitSingh97

Two defects surfaced during the v1.4 release gate (2026-07-12):

  1. Provisioning aborts on untracked files. /srv/code/pithead-e2e had an untracked tests/integration/benchmarks/bench-verify-egress.sh left by an earlier bench run; git checkout develop refused ("would be overwritten") and the run died in preflight. The e2e checkout is DEDICATED and disposable — provisioning should git checkout -f + git clean -fdx (excluding results//backups/ if worth keeping) instead of assuming a pristine tree.

  2. Restore assumes CANONICAL_DIR runs the live stack. The restore path runs pithead apply/up from CANONICAL_DIR (default /srv/code/pithead, the source checkout on main). On gouda the LIVE stack runs from the per-version bundle dir (/srv/code/pithead-v1.3.1); the restore therefore had the source checkout take over the compose project with locally-built :dev images — tari crash-looped and the restore itself exited non-zero, leaving the box needing a hand-run pithead upgrade from the bundle dir. Workaround that works today: pass CANONICAL_DIR=/srv/code/pithead-vX.Y.Z. Fix: either derive the restore dir from the running container's com.docker.compose.project.working_dir label, or refuse to start when CANONICAL_DIR's compose project differs from the live one.

Neither blocked v1.4 (retried with the workaround) but both burn a release-gate cycle each time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTests, CI, and test infrastructure

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions