fix: release.yml YAML parse error (0-job startup failure on tag push)#10
Merged
Conversation
The git commit step embedded a multi-line commit message inside a `run: |` block scalar with the `Signed-off-by:` trailer at column 0. A non-indented, non-empty line terminates a YAML literal block scalar, so the parser then read `Signed-off-by: ...` as a mapping key and the workflow failed to parse — producing a 0-job startup failure on every `v*` tag push (the "This run likely failed because of a workflow file issue" error). Fix: build the commit message with two `-m` flags, keeping all content properly indented within the block scalar. Validated with PyYAML: release.yml, ci.yml, and dco.yml all parse cleanly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
3 tasks
SoundMatt
added a commit
that referenced
this pull request
Jun 17, 2026
…ports After the YAML parse fix (PR #10) the Release workflow ran for real and surfaced two runtime failures, both already solved the same way in ci.yml: 1. `lcov --capture` failed with "GCOV failed ... .gcda" because the coverage build uses g++-12 but the runner's default gcov is v11. Add `--gcov-tool gcov-12`, matching ci.yml. 2. The certification gap/coverage reports (ISO 26262 ASIL-B, IEC 61508 SIL-2, DO-178C DAL-B, structural coverage, full compliance report) grade against 100% thresholds the stub bridge implementations cannot meet, so they exit non-zero by design. The release workflow's job is to GENERATE these artifacts, not gate on them (gating lives in ci.yml), so append `|| true` — same pattern as ci.yml's cpfusa-report job. Pure artifact generators (fmea, safety-case, tara, sbom, sas, sci, audit-pack, badge) and the qualify gate stay hard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
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.
Problem
Every
v*tag push produced a redrelease.ymlrun with 0 jobs and the message "This run likely failed because of a workflow file issue." The releases themselves exist only because they were created manually withgh release create— the workflow that regenerates safety artifacts (FMEA, TARA, GSN safety case, ISO 26262 / IEC 61508 / DO-178C gap reports, SBOM, audit pack, badge) never actually ran.Root cause
The "Commit regenerated artifacts" step embedded a multi-line commit message inside a
run: |block scalar:The
Signed-off-by:trailer sits at column 0. In YAML, a non-indented non-empty line terminates a literal block scalar, so the parser then tried to readSigned-off-by: ...as a mapping key. This is a structural parse error → workflow startup failure with no jobs.Confirmed with PyYAML against the pre-fix file:
Fix
Build the commit message with two
-mflags so every line stays indented within the block scalar:The DCO trailer is preserved (now as a second
-mbody line).Validation
release.yml,ci.yml,dco.ymlcleanly after the fixrelease.ymlraised the parse errorrelease.ymlruns green end-to-end