fix(release): preserve source permissions when copying blobs to outdir ai:claude-sonnet-4-6 #71

Closed
heiko wants to merge 0 commits from fix/67-packages-binaries-accept-full-path into master
Owner

Two small follow-up items left over from the fix/67 branch after PR #68 was merged.

  • fix(release): copyAssetsToOutdir used a hardcoded 0o666 mode, which
    strips the execute bit from Linux binaries after umask. Replaced the
    manual open/copy/close block with fsutil.Copy, which preserves source
    mode (cp -p semantics) — same approach used everywhere else in the
    codebase. Drops 22 lines of boilerplate.

  • test(config): supplemental table-driven test covering the YAML unmarshal
    normalization of full binary paths (cmd/foofoo) introduced in #68.
    Was developed alongside the fix but not included in that PR.

(co)authored by ai:claude-sonnet-4-6

Two small follow-up items left over from the fix/67 branch after PR #68 was merged. - `fix(release)`: `copyAssetsToOutdir` used a hardcoded `0o666` mode, which strips the execute bit from Linux binaries after umask. Replaced the manual open/copy/close block with `fsutil.Copy`, which preserves source mode (`cp -p` semantics) — same approach used everywhere else in the codebase. Drops 22 lines of boilerplate. - `test(config)`: supplemental table-driven test covering the YAML unmarshal normalization of full binary paths (`cmd/foo` → `foo`) introduced in #68. Was developed alongside the fix but not included in that PR. (co)authored by ai:claude-sonnet-4-6
Adds TestPackagesSpec_UnmarshalFullPathBinaryNormalized to verify that
cmd/foo-server in a YAML config becomes foo-server after unmarshal.
The existing TestValidatePackages_FullPathBinary only exercised the
validation path via explicitCfg (no YAML), leaving the unmarshal
normalization in packages.go untested.
copyAssetsToOutdir used a hardcoded 0o666 mode, stripping the execute
bit from Linux binaries. Replacing the manual open/copy/close with
fsutil.Copy preserves the source mode (same approach as the rest of the
codebase) and drops 22 lines of boilerplate.
heiko force-pushed fix/67-packages-binaries-accept-full-path from 604c2f14f1 to 63db215ee4 2026-05-24 15:37:11 +02:00 Compare
heiko closed this pull request 2026-05-24 15:40:11 +02:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
heiko/gogogo!71
No description provided.