Skip to content

[codex] Fix Windows release manifest publishing#2095

Merged
juliusmarminge merged 3 commits intomainfrom
t3code/138f7bbf
Apr 17, 2026
Merged

[codex] Fix Windows release manifest publishing#2095
juliusmarminge merged 3 commits intomainfrom
t3code/138f7bbf

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented Apr 17, 2026

Summary

Fix the Windows release publish step so it only merges real updater manifests, and keep the new Windows ARM release support plus release smoke coverage in place.

Root cause

The release workflow iterated over release-assets/*-win-x64.yml, which matched both updater manifests like latest-win-x64.yml and Electron Builder debug files like builder-debug-win-x64.yml. The merge step then tried to parse the debug YAML as an updater manifest and failed on the top-level arm64: key.

What changed

  • add the Windows ARM release manifest merge support from upstream main
  • keep updater manifest parsing/merging in the shared scripts/lib/update-manifest.ts path with platform-aware merge tests
  • narrow the Windows release workflow glob so it only picks latest*-win-x64.yml
  • extend scripts/release-smoke.ts to simulate a mixed release-assets directory and verify that builder debug YAML is ignored while updater manifests are merged into latest.yml

Impact

  • GitHub Releases can merge Windows x64 + arm64 updater manifests without tripping over builder debug artifacts
  • the release smoke test now covers the exact failure mode from Actions

Validation

  • bun run test --filter=@t3tools/scripts
  • bun run release:smoke
  • bun fmt
  • bun lint
  • bun typecheck

bun lint still reports existing warnings in unrelated web files, but it exits successfully.

Note

Fix Windows release manifest publishing to skip builder-debug manifests

  • The release workflow's 'Merge Windows updater manifests' step now skips any builder-debug-* files when iterating release-assets/*-win-x64.yml, preventing failed merges for debug manifests.
  • The smoke test in scripts/release-smoke.ts is reworked to validate multi-channel manifest merging (latest, nightly, preview), confirm removal of per-arch input files after merging, and assert that builder-debug-* manifests are ignored and preserved.
  • New helpers assertExists and assertMissing provide fast-fail checks in the smoke test for expected and unexpected files.

Macroscope summarized 98ef886.


Note

Medium Risk
Touches release automation and manifest merging behavior; a mistake could break Windows release publishing or produce incorrect updater manifests, but changes are small and smoke-tested.

Overview
Fixes the GitHub Release workflow’s Windows manifest merge so it skips Electron Builder builder-debug-* YAML files when scanning *-win-x64.yml, preventing the updater manifest merge step from trying to parse non-updater YAML.

Expands scripts/release-smoke.ts to generate channel-specific Windows updater manifests (e.g. latest, nightly, preview), add builder-debug fixtures, and assert that only updater manifests are merged into per-channel *.yml outputs, input per-arch manifests are deleted, and debug fixtures remain untouched.

Reviewed by Cursor Bugbot for commit 98ef886. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4fe2b3e6-9046-41ff-bfe1-37c34490d885

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/138f7bbf

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Apr 17, 2026
Co-authored-by: codex <codex@users.noreply.github.com>
Comment thread .github/workflows/release.yml Outdated
@github-actions github-actions bot added size:M 30-99 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Apr 17, 2026
@juliusmarminge juliusmarminge marked this pull request as ready for review April 17, 2026 00:48
Co-authored-by: codex <codex@users.noreply.github.com>
@github-actions github-actions bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Apr 17, 2026
Co-authored-by: codex <codex@users.noreply.github.com>
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp bot commented Apr 17, 2026

Approvability

Verdict: Approved

This is a minor CI/CD fix that adds a 4-line condition to skip debug builder files during Windows release manifest processing. The bulk of the diff is new smoke test code validating this behavior. No runtime application behavior is affected.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge juliusmarminge merged commit b7df3df into main Apr 17, 2026
12 checks passed
@juliusmarminge juliusmarminge deleted the t3code/138f7bbf branch April 17, 2026 00:56
znoraka pushed a commit to znoraka/t3code that referenced this pull request Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant