Skip to content

Bump Proc to 0.14.0, fix release-notes CLI invocation, fix container tags - #15

Merged
Mpdreamz merged 1 commit into
masterfrom
fix/proc-version-and-release-notes-cli
Sep 3, 2026
Merged

Mpdreamz merged 1 commit into
masterfrom
fix/proc-version-and-release-notes-cli

Conversation

@Mpdreamz

@Mpdreamz Mpdreamz commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Bumps the Proc build-script dependency from 0.6.2 to 0.14.0 (latest) and drops exec's manual per-argument quoting - a leftover workaround for 0.6.2's shell-based invocation. Proc 0.14+ passes args directly to the OS with no shell expansion, matching curb's exec.
  • That manual double-quoting was the root cause of the 0.14.0 tagged release failing at "Build container image": -p:ContainerImageTags="edge;latest;0.14.0" came out with four quote characters instead of two, and MSBuild rejected latest as an unknown switch (MSB1006). Verified the fixed exec produces a working multi-tag container push locally.
  • release-notes was pinned at 0.5.2, a net6.0 build - would fail the same way nupkg-validator's did ("You must install or update .NET to run this application.") on the next tagged release. Bumped the pin to 0.11.0 (net8.0+, Argh-based CLI) and fixed generatereleasenotes/createreleaseongithub to match its new CLI shape (explicit generate/create-release command, single-token --label key=value). Verified against the real 0.11.0 package.
  • dotnet tool restore now retries once on failure: dotnet/sdk#53783 causes cold-cache restores of 2+ RID-specific tool packages (all of ours are, now) to misattribute one package's DotnetToolSettings.xml to another.

Test plan

  • dotnet build build/scripts/scripts.fsproj -c Release succeeds.
  • ./build.sh generatereleasenotes -s true runs against the real release-notes 0.11.0 package.
  • ./build.sh publishcontainers -s true builds and tags the image correctly with multiple tags (edge,latest,0.14.0) - reproduced the original MSB1006 failure first with the old exec, then confirmed the fix locally in a Linux container.
  • Once merged, cut a 0.14.1 release to complete the release that failed on 0.14.0.

Made with Cursor

…tags

Proc was pinned at 0.6.2, and exec() manually wrapped every argument in
quotes (a workaround for that old version's shell-based invocation). Bumped
to 0.14.0 and dropped the manual quoting to match curb's exec: Proc 0.14+
passes args directly to the OS with no shell expansion. The old double
quoting was actively corrupting -p:ContainerImageTags="edge;latest;0.14.0"
on this repo's own tagged release - MSBuild saw four quote characters
instead of two and rejected `latest` as an unknown switch (MSB1006),
failing the "Build container image" CI step. Verified the fixed exec
produces a working multi-tag container push locally.

release-notes was pinned at 0.5.2, a net6.0 build - the CI runner's SDKs
start at 8.0, so `dotnet release-notes ...` would fail with "You must
install or update .NET to run this application." on the next tagged
release. Bumped the pin to 0.11.0 (net8.0+, Argh-based CLI) and updated
both call sites: bare invocation needs an explicit `generate`/
`create-release` command first now, and `--label` takes a single
`key=value` token instead of two. Verified against the real 0.11.0 package.

Also retries `dotnet tool restore` once on failure: dotnet/sdk#53783 causes
cold-cache restores of 2+ RID-specific tool packages (all of ours now are)
to misattribute one package's DotnetToolSettings.xml to another. A retry
always succeeds since the resolver cache is warm afterward.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Mpdreamz
Mpdreamz merged commit 8bd830e into master Sep 3, 2026
2 checks passed
@Mpdreamz
Mpdreamz deleted the fix/proc-version-and-release-notes-cli branch September 3, 2026 08:38
@Mpdreamz

Mpdreamz commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator Author

Also fixed generateApiChanges: it was diffing against the plain assembly-rewriter package id, which is just a DotnetToolSettings.xml v2 shim with no managed assembly - found while chasing the same failure in release-notes's own PR CI (https://github.com/nullean/release-notes/actions/runs/33674817669/job/100397363448). Now points at assembly-rewriter.any, which has the real signed build.

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