Skip to content

fix(ci): indent heredoc in publish.yml to fix startup_failure - #747

Merged
kovtcharov merged 1 commit into
mainfrom
kalin/fix-publish-yaml-indent
Apr 11, 2026
Merged

kovtcharov merged 1 commit into
mainfrom
kalin/fix-publish-yaml-indent

Conversation

@kovtcharov

Copy link
Copy Markdown
Contributor

Summary

  • The Publish Release workflow failed with startup_failure (0 jobs, instant failure) on the v0.17.2 tag push: https://github.com/amd/gaia/actions/runs/24267844380
  • Root cause: The heredoc body in the github-release job's "Extract release notes" step was at column 0 (no indentation), which broke out of the run: | YAML block scalar. The YAML parser interpreted - **Windows** as a sequence item with *Windows as an alias reference, causing a parse error before any job could start.
  • Fix: Indent the heredoc body to 10 spaces to match the block scalar's indentation level. YAML strips the leading spaces automatically, so bash still receives the content at column 0 — no change to the generated release body.

Test plan

  • yaml-lint passes on publish.yml (was failing before the fix)
  • Re-tag v0.17.2 (or use workflow_dispatch) to verify the publish workflow starts successfully

🤖 Generated with Claude Code

The heredoc content in the github-release job's "Extract release notes"
step was at column 0, breaking out of the `run: |` YAML block scalar.
The YAML parser interpreted `- **Windows**` as a sequence item with
`*Windows` as an alias reference, causing a startup_failure before any
job could run (0 jobs, instant failure).

Fix: indent the heredoc body to 10 spaces (matching the block scalar's
indentation level). YAML strips the leading spaces, so bash still
receives the content at column 0.

Fixes: https://github.com/amd/gaia/actions/runs/24267844380

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the devops DevOps/infrastructure changes label Apr 11, 2026
@kovtcharov
kovtcharov enabled auto-merge April 11, 2026 08:39
@kovtcharov
kovtcharov added this pull request to the merge queue Apr 11, 2026
Merged via the queue into main with commit a786080 Apr 11, 2026
19 checks passed
@kovtcharov
kovtcharov deleted the kalin/fix-publish-yaml-indent branch April 11, 2026 08:40
github-merge-queue Bot pushed a commit that referenced this pull request Apr 11, 2026
…748)

## Summary

- Fixes the `startup_failure` on the Publish Release workflow:
https://github.com/amd/gaia/actions/runs/24278877956
- **Root cause:** `build-electron-apps.yml` declares `permissions:
contents: write` at its top level. When called as a reusable workflow
from `publish.yml`, the calling `build-electron` job only had `contents:
read` (inherited from publish.yml's workflow-level permissions). GitHub
Actions validates this at startup and rejects the run before any jobs
start.
- **Fix:** Add explicit `permissions: contents: write` to the
`build-electron` job in publish.yml so it matches what the reusable
workflow declares.

> **Note:** The previous PR #747 fixed a YAML block scalar issue
(heredoc indentation) that was also causing a parse error. This PR fixes
the second startup_failure — the permissions mismatch discovered from
the GitHub Actions error annotation.

## Test plan

- [ ] Merge, move v0.17.2 tag, verify Publish Release workflow starts
and reaches the Validate step

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
github-merge-queue Bot pushed a commit that referenced this pull request Apr 11, 2026
## Summary

- Fixes the macOS DMG build failure in the Publish Release workflow:
https://github.com/amd/gaia/actions/runs/24278980001
- **Root cause:** electron-builder auto-skips code signing for PR builds
(`Current build is a part of pull request, code signing will be
skipped`) but NOT for tag pushes. Without valid signing secrets, it
tries to sign with empty credentials and fails with `⨯
.../src/gaia/apps/webui not a file`.
- **Fix:** Pass `--config.mac.identity=null` when `APPLE_ID` is not set,
explicitly telling electron-builder to skip signing. Windows and Linux
builds are unaffected (they don't attempt signing without their
respective secrets).

> This is the third fix for the v0.17.2 publish pipeline, after #747
(YAML heredoc indentation) and #748 (reusable workflow permissions).

## Test plan

- [x] The PR itself triggers `build-installers.yml` (via `paths:`
filter) — the macOS job will validate the fix
- [ ] After merge, move v0.17.2 tag and re-trigger publish

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
github-merge-queue Bot pushed a commit that referenced this pull request Apr 11, 2026
## Summary

- Fixes the `Publish to npm` job failure:
https://github.com/amd/gaia/actions/runs/24279365243/job/70899004478
- **Root cause:** `npm publish` triggers `prepublishOnly` → `tsc && vite
build`, but the job installs only production deps (`--omit=dev`). `tsc`
fails because `@types/react`, `typescript`, etc. are missing.
- **Fix:** Add `--ignore-scripts` to `npm publish`. The dist/ is already
pre-built in the `build-npm` job and downloaded as an artifact — the
prepublishOnly rebuild is redundant.

> Fix #5 for the v0.17.2 publish pipeline, after #747 (YAML indent),
#748 (permissions), #749 (macOS signing), #750 (terminalStore types).

## Test plan

- [ ] Merge, move tag, verify npm publish succeeds

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devops DevOps/infrastructure changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants