Skip to content

fix(release): build the debug artifacts before the packaging script tests - #19

Merged
donislawdev merged 1 commit into
mainfrom
fix/release-packaging-builds-before-it-tests
Sep 10, 2026
Merged

fix(release): build the debug artifacts before the packaging script tests#19
donislawdev merged 1 commit into
mainfrom
fix/release-packaging-builds-before-it-tests

Conversation

@donislawdev

Copy link
Copy Markdown
Owner

The first tagged release of 0.2.0 failed in phase A, on a fault this repository
had already found twice and fixed once - in the wrong place.

What broke

cargo test compiles chrono-hook as a test harness and never lands the
cdylib, so target/debug/chrono_hook.dll does not exist and the probe that
drives a real session fails:

this probe drives a real session and needs ...\target\debug\chrono_hook.dll,
which `cargo test` does not build

It fails on a clean machine only - a developer box still carries one from an
earlier build - so nothing local ever showed it. CI was taught to run
cargo build --workspace first. packaging/build-dist.ps1 was not, and phase A
of a release calls that script.

The guard was green beside the failure

The guard that exists for exactly this read one file. It asserted the ordering
in .github/workflows/ci.yml, passed, and was sitting green in the same test
binary as the failure. A guard that watches one of two doors reports on the
door, not on the house.

It now walks a list of every committed file that runs the workspace tests and
names the file it is unhappy with. tools/gates.ps1 is deliberately not on that
list: it lives outside the repository, so a clean clone could not read it and
the test would fail for the wrong reason. Renamed to carry the scope it now has.
Nothing is added or removed, so the Rust suite stays at 453.

Evidence

  • The revert probe was seen red before the fix went in, and it named
    packaging/build-dist.ps1 in the failure message rather than only counting.
  • Measured rather than assumed. With target/debug/chrono_hook.dll deleted,
    cargo test does not bring it back and cargo build --workspace does.
  • Gates: 14/14 in 198.4s - Rust 453, C# 449, harness 146 PASS / 0 FAIL on
    x64 and x86.

Honest limit

This removes the known cause. The release ritual has still never run to
completion, so the phase A steps after this one - attestation, opening the
draft, handing over the artifact - remain untested in anger.

🤖 Generated with Claude Code

…ests

The first tagged release of 0.2.0 failed here, in phase A, on a fault this
repository had already found twice and fixed once in the wrong place.

`cargo test` compiles chrono-hook as a test harness and never lands the cdylib,
so target/debug/chrono_hook.dll does not exist and the probe that drives a real
session fails. It fails on a clean machine only - a developer box still carries
one from an earlier build - so nothing local ever showed it. CI was taught to
run `cargo build --workspace` first. packaging/build-dist.ps1 was not, and
phase A of a release calls that script.

The guard that exists for exactly this read one file. It asserted the ordering
in .github/workflows/ci.yml, passed, and was sitting green in the same test
binary as the failure. A guard that watches one of two doors reports on the
door, not on the house - so it now walks a list of every committed file that
runs the workspace tests, and names the file it is unhappy with.
tools/gates.ps1 is deliberately not on that list: it lives outside the
repository, so a clean clone could not read it and the test would fail for the
wrong reason.

Renamed with the scope it now has. Nothing is added or removed, so the Rust
suite stays at 453.

Measured rather than assumed, by deleting target/debug/chrono_hook.dll and
running each command on its own: `cargo test` does not bring it back, and
`cargo build --workspace` does.

The revert probe was seen red before the fix went in, and it named
packaging/build-dist.ps1 in the failure message rather than only counting.

Gates: 14/14 in 198.4s, Rust 453, C# 449, harness 146 PASS / 0 FAIL on x64 and
x86.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@donislawdev
donislawdev merged commit 583d828 into main Sep 10, 2026
8 checks passed
@donislawdev
donislawdev deleted the fix/release-packaging-builds-before-it-tests branch September 10, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant