Repository navigation
The nightly ignored the ref it was dispatched onto - #2399
Conversation
check, build and linux pinned `ref: dev`; only darling-pg resolved the
dispatched ref. So `gh workflow run nightly.yml --ref release/3.5.1` ran
the Darling PostgreSQL tests against release/3.5.1 and built, packaged and
PUBLISHED dev -- tests on one tree, artifacts from another.
The mismatch is invisible from every surface that would normally confirm
it. The run's head SHA, the API and the Actions UI all report the
dispatched ref, because that is genuinely what was dispatched; only the
artifact came from somewhere else. It surfaced here as a 3.5.1
release-candidate build producing assets stamped 3.5.0 -- the version step
reads Lite/PerformanceMonitorLite.csproj, which says 3.5.1 on that branch
and 3.5.0 on dev -- and that is only noticeable if you read the asset name
and happen to care.
The workflow's own comment already described the intended behavior ("which
executes from the dispatched ref"), so the pins contradicted the design
rather than expressing it. All four now resolve identically, falling back
to dev for the scheduled path, which re-dispatches with --ref dev anyway.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Reviewed. The fix itself is correct and minimal: all four checkouts ( One loose end worth fixing while this file is open:
That described the old, buggy behavior. After this PR, No T-SQL, no Lite/Darling app-code touched, so the style guide and parity concerns don't apply to this change. |
Both were found by asking what in this release is verified by anything other than reading the diff. The checksum fix was half-applied (#2384 fixed the release workflow, not the nightly), and the dispatch-ref bug meant the release candidate I built to soak was not the branch I dispatched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Found while building a 3.5.1 release candidate to soak before tagging: I dispatched
nightly.ymlontorelease/3.5.1and got artifacts built fromdev.So the run tested
release/3.5.1and shippeddev.The reason this is worth more than a one-line fix: nothing that would normally confirm what you built disagrees. The run's head SHA, the API, and the Actions UI all report
release/3.5.1, because that genuinely is what was dispatched — only the checkout went elsewhere. I verified the head SHA matched the branch tip and that it contained #2388/#2390/#2397, and every one of those checks passed while the artifact was still dev.What actually gave it away was the asset name:
PerformanceMonitorDarling-3.5.0-nightly.20260821.zipon a branch whoseLite/PerformanceMonitorLite.csprojsays3.5.1. Both version steps read that file, so the stamped version is a direct readout of which tree was checked out — visible only if you read the filename and know what to expect.The workflow's own comment already stated the intent:
so the pins contradicted the documented design rather than expressing it. All four checkouts now resolve identically, falling back to
devfor the scheduled path — which re-dispatches with--ref devregardless.