Skip to content

fix(release): normalize trailing newline in .tool-versions heredoc - #15

Closed
ivanasabi wants to merge 2 commits into
mainfrom
hotfix-tool-versions-v2
Closed

ivanasabi wants to merge 2 commits into
mainfrom
hotfix-tool-versions-v2

Conversation

@ivanasabi

@ivanasabi ivanasabi commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Automated pull request (hotfix, re-land of #11)

PR #12/#13 restored the managed workflow to golden bytes, which fell back to cat .tool-versions and re-broke the release lane. This re-lands fix 8fcae09: awk '1' normalizer in the three tool_versions reader steps.

Original failure (run 36727954952): asdf-vm/actions install rewrites .tool-versions from its tool_versions input without the final LF; git add --update in Prepare Release commits that drift into the staging commit (see efe0eb0), and the build job's Read governed tool versions heredoc loses its EOF delimiter (Matching delimiter not found 'EOF').

Retrocompatibility: awk '1' is byte-identical to cat for a file that already ends in LF (verified: same SHA-256 on a well-formed fixture), and only appends the missing LF when absent. Downstream parsing is unaffected.

Temporary product-side fix — the golden fix belongs in InditexTech/archetype-python; expect SYNC drift on this managed file until the template is re-landed upstream.

ivanasabi and others added 2 commits September 30, 2026 17:37
Reverts the hotfix from #11 (awk '1' in the tool-versions heredoc) so
the file matches the signed digest in the governance manifest again;
SYNC can re-render it once the archetype-python canonical fix lands.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
asdf-vm/actions rewrites .tool-versions from its input without a final
LF; git add --update then commits that drift into the staging commit and
the build job's GITHUB_OUTPUT heredoc loses its EOF delimiter
('Matching delimiter not found'). Emit the file through awk ('1') in the
three reader steps so the delimiter is always on its own line. Behavior
is byte-identical for files that already end in LF.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ivanasabi
ivanasabi requested a review from a team as a code owner September 30, 2026 15:51
@ivanasabi

Copy link
Copy Markdown
Contributor Author

Root-cause fix landed upstream: InditexTech/archetype-python#103 (awk '1' normalizer in all 7 golden heredoc readers). After that PR merges, internal-ops re-pins python and the next SYNC re-renders these managed files — the release-core readers here converge byte-identically (verified) and the remaining cat readers are replaced by the golden. Keep this open until the re-pin+SYNC round completes.

@ivanasabi ivanasabi closed this Sep 30, 2026
@sergiobe-itx
sergiobe-itx deleted the hotfix-tool-versions-v2 branch October 13, 2026 12:12
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