Skip to content

fix(ci): kill release.yml, restore softprops release job in build.yml#356

Merged
jayzalowitz merged 1 commit into
mainfrom
jayzalowitz/release-yml-csc-unset
May 23, 2026
Merged

fix(ci): kill release.yml, restore softprops release job in build.yml#356
jayzalowitz merged 1 commit into
mainfrom
jayzalowitz/release-yml-csc-unset

Conversation

@jayzalowitz

Copy link
Copy Markdown
Owner

Summary

Five consecutive release.yml failures on tag v0.6.58.0 (PRs #352-#355 each fixed one issue and surfaced the next). At 5 fixes deep, release.yml was never tested end-to-end and the iteration loop is too expensive (5-10 min per cycle).

Pivoting to the simpler known-working pattern:

build.yml's desktop-mac/win/linux matrix already builds artifacts successfully on tag push (matrix is well-exercised by every PR). The restored release job downloads those artifacts via `actions/download-artifact` and creates a draft Release via `softprops/action-gh-release@v3` — battle-tested action, no electron-builder publisher chain to debug.

Trade-off: lose electron-builder's GitHub publisher (auto-updater YAML files). When code signing + auto-update become priorities, add release.yml back with lessons from #352-#355 baked in. For launch, artifacts ship as unsigned drafts — exactly what launch-plan §1.6 README needs.

Test plan

After merge: re-tag v0.6.58.0 (fifth attempt). build.yml's matrix builds + new release job creates draft GitHub Release. Operator clicks Publish in UI when ready.

🤖 Generated with Claude Code

Five consecutive failures of release.yml on tag v0.6.58.0:
1. pnpm/action-setup v4+version conflict (PR #352 fix)
2. `pnpm --filter skytwin-desktop build` skipped workspace deps (PR #353 fix)
3. pnpm `--` separator broke electron-builder arg parsing (PR #354 fix)
4. Empty CSC_LINK env var made electron-builder treat CWD as cert path
   (PR #355 attempted fix — did not actually work, see #5)
5. CSC_IDENTITY_AUTO_DISCOVERY=false isn't enough because CSC_LINK=""
   (set-to-empty-string, not unset) still triggers the path-resolve
   code path

Each fix revealed the next bug because release.yml was never tested
end-to-end — it's been broken since the file was committed. At 5 fixes
deep, the right move is to stop fixing release.yml and use the
known-working publisher pattern instead.

build.yml already builds artifacts successfully on tag push via its
desktop-mac/desktop-windows/desktop-linux/mobile-* matrix. PR #352
deleted build.yml's softprops-based release: job specifically to
avoid double-publishing with release.yml. With release.yml deleted,
that conflict is gone — restore the simpler chain:

- Desktop+mobile matrix builds artifacts (already works, --publish never).
- New release: job downloads via actions/download-artifact and creates
  a draft GitHub Release via softprops/action-gh-release@v3.

Trade-off:
- Lose: electron-builder's GitHub publisher integration (auto-updater
  channel YAML). When code signing + auto-update become priorities,
  add release.yml back with the lessons from #352-#355 baked in OR
  switch to a single workflow with electron-builder publish.
- Gain: artifacts actually publish today, on an unsigned-build basis,
  which is what the launch plan §1.6 README rewrite needs.

After this lands: re-tag v0.6.58.0 (5th attempt). build.yml's matrix
runs as before, plus the new release: job downloads + publishes a
draft. Operator manually clicks Publish in the GitHub UI to make
the release live.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 23, 2026 02:35
@jayzalowitz jayzalowitz merged commit 8bb5379 into main May 23, 2026
3 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Moves GitHub Release publishing back into build.yml by adding a tag-triggered release job and removing the dedicated release.yml workflow.

Changes:

  • Deleted .github/workflows/release.yml (electron-builder publish workflow).
  • Added a release job to .github/workflows/build.yml that downloads existing build artifacts and creates a draft GitHub Release via softprops/action-gh-release.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/release.yml Removes the standalone multi-OS release/publish workflow.
.github/workflows/build.yml Adds a tag-only release publisher job that attaches previously-built artifacts to a draft GitHub Release.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +456 to +464
files: |
artifacts/SkyTwin-macOS-dmg/*
artifacts/SkyTwin-macOS-zip/*
artifacts/SkyTwin-Windows-installer/*
artifacts/SkyTwin-Linux-AppImage/*
artifacts/SkyTwin-Linux-deb/*
artifacts/SkyTwin-Linux-rpm/*
artifacts/SkyTwin-Android-apk/*
artifacts/SkyTwin-iOS-simulator/*
Comment on lines +420 to +429
# History: this job was deleted in PR #352 to avoid double-publishing
# against release.yml's electron-builder Github publisher. release.yml
# then failed FIVE consecutive release attempts (pnpm setup, workspace
# build, --publish arg forwarding, CSC empty-string, ...). Each fix
# surfaced the next bug because release.yml was never tested
# end-to-end. Reverting: this simpler softprops-based path downloads
# the artifacts the desktop-mac/win/linux jobs already produce
# successfully (build.yml's matrix is well-exercised) and creates a
# draft GitHub Release. release.yml was deleted entirely in the same
# PR — build.yml is now the only publisher.
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.

2 participants