fix(ci): fix YAML literal block scalar indentation in 3 workflows - #124
Merged
Conversation
release-blog.yml, milestone-blog.yml, and milestone-release-decision.yml all failed to parse because multi-line bash body strings inside run: | blocks had content lines at column 0. YAML literal block scalars terminate on any non-empty line below the established block indent level (10 spaces). Fix: add the required 10-space block indentation to all col-0 non-empty lines within each run: | block. YAML strips the block indent on parse, so the resulting bash script content is semantically identical. Root cause was introduced in dev branch ~Apr 21 when the workflows were authored with unindented heredoc-style strings inside YAML run blocks. Affected workflows (zero jobs ever ran — pure parse failures): - release-blog.yml: on release:published - milestone-blog.yml: on milestone:closed - milestone-release-decision.yml: on issues:labeled squad-release.yml (on push:tags) validated OK; did not run for v1.2.0 because tags were pushed by GITHUB_TOKEN (GitHub anti-loop protection) — the release was correctly created by squad-milestone-release.yml instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
🏗️ PR Added to Squad Triage QueueThis PR has been labeled with Next steps:
|
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #124 +/- ##
=======================================
Coverage 76.93% 76.93%
=======================================
Files 43 43
Lines 672 672
Branches 111 111
=======================================
Hits 517 517
Misses 105 105
Partials 50 50 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Working as Boromir (DevOps Engineer)
Closes #123
Fixes YAML parse failures in three GitHub Actions workflows that have been silently failing since the Sprint 5 merge (PR #122).
Root Cause
All three workflows use
run: |(YAML literal block scalars) where multi-line bash body strings drop to column 0 inside the block. The block indentation level is 10 spaces (set by the first content line). Any non-empty line at column 0 terminates the YAML block, causing a parse error before any job starts.Evidence:
total_count: 0, jobs: [])nameshowed the file path instead of the workflow'sname:field (GitHub couldn't parse past the error)event: pushbecause GitHub registers new workflow files on the first push tomainFix
Added the required 10-space block indentation prefix to all col-0 non-empty content lines within each
run: |block. YAML strips exactly the block-indent level from each line during parse, so the resulting bash script content is semantically identical — no behavior change.Files Changed
release-blog.ymlmilestone-blog.ymlmilestone-release-decision.ymlsquad-release.yml Status
This workflow (tag push trigger) validated OK and was intentionally not triggered for v1.2.0 — GitHub's anti-loop protection prevents
push: tagsworkflows from firing when the tag is pushed by a GITHUB_TOKEN workflow run. The v1.2.0 release was correctly created bysquad-milestone-release.yml.Verification