Skip to content

fix(desktop): seed mac auto-update config - #10132

Merged
DOsinga merged 1 commit into
mainfrom
codex/fix-mac-native-auto-update
Jul 1, 2026
Merged

fix(desktop): seed mac auto-update config#10132
DOsinga merged 1 commit into
mainfrom
codex/fix-mac-native-auto-update

Conversation

@DOsinga

@DOsinga DOsinga commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • package app-update.yml into the Electron resources root so electron-updater can complete native mac downloads
  • verify both mac bundle workflows fail before upload if the packaged app is missing updater config
  • gate latest-mac.yml release publication behind ENABLE_MAC_NATIVE_AUTO_UPDATE so existing 1.38/1.39 installs keep using the fallback zip flow until a config-seeded release is installed

Rollout note

Do not enable ENABLE_MAC_NATIVE_AUTO_UPDATE for the immediate next release. Existing installed apps do not have app-update.yml, so they must first update through the fallback zip/manual flow to a build that contains this file. Native mac metadata can be enabled for a later release once the installed base has the packaged config.

Verification

  • node ui/desktop/scripts/verify-mac-update-resources.js <fake-app>
  • pnpm exec prettier --check forge.config.ts scripts/verify-mac-update-resources.js src/app-update.yml
  • workflow/app-update YAML parse check with js-yaml
  • node -e "const cfg=require('./ui/desktop/forge.config.ts'); if (!cfg.packagerConfig.extraResource.includes('src/app-update.yml')) process.exit(1)"
  • rebuilt @aaif/goose-sdk locally, then pnpm run package
  • node scripts/verify-mac-update-resources.js out/Goose-darwin-arm64/Goose.app

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 799cb99b48

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated
omitPrereleaseDuringUpdate: true

- name: Upload macOS update manifest
if: ${{ vars.ENABLE_MAC_NATIVE_AUTO_UPDATE == 'true' }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Delete stale mac manifests when disabling native updates

When ENABLE_MAC_NATIVE_AUTO_UPDATE is false, this upload step is skipped, but the Release stable action above only updates assets and does not remove unlisted ones; I checked the pinned ncipollo/release-action docs and removeArtifacts defaults to false. Since prior stable releases uploaded latest-mac.yml, the old manifest remains attached to the stable release, so existing mac clients still fetch a native-update manifest instead of getting the 404 needed to exercise the fallback zip flow. Please explicitly delete latest-mac.yml from stable (and same-tag reruns, if relevant) in the disabled path.

Useful? React with 👍 / 👎.

@lifeizhou-ap

lifeizhou-ap commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Thanks for this PR!

I think the safe rollout could be:

  • This PR for next release

    • Add and package app-update.yml.
    • Remove/disable latest-mac.yml generation and upload.
  • PR 2 / following release
    Re-enable latest-mac.yml generation/upload.

And we don't need ENABLE_MAC_NATIVE_AUTO_UPDATE

Comment thread .github/workflows/release.yml Outdated
merge-multiple: true

- name: Generate macOS update manifest
if: ${{ vars.ENABLE_MAC_NATIVE_AUTO_UPDATE == 'true' }}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

where is ENABLE_MAC_NATIVE_AUTO_UPDATE var defined and where to set the value?

@DOsinga
DOsinga force-pushed the codex/fix-mac-native-auto-update branch from 799cb99 to 219f027 Compare July 1, 2026 13:22
@DOsinga

DOsinga commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed in the latest push. The release workflow now defines ENABLE_MAC_NATIVE_AUTO_UPDATE at workflow scope from the repository Actions variable, defaulting to false when unset. To enable it later: GitHub repo Settings → Secrets and variables → Actions → Variables → set ENABLE_MAC_NATIVE_AUTO_UPDATE=true. The comment also notes to wait until after a release containing app-update.yml has shipped.

@DOsinga
DOsinga added this pull request to the merge queue Jul 1, 2026
Merged via the queue into main with commit 006d585 Jul 1, 2026
23 checks passed
@DOsinga
DOsinga deleted the codex/fix-mac-native-auto-update branch July 1, 2026 16:41
lifeizhou-ap added a commit that referenced this pull request Jul 1, 2026
* main:
  fix: tolerate partial Responses output items (#10108)
  fix(databricks): always use OpenAI-compatible "parameters" for tools (#10101)
  fix(providers): unescape shell-escaped image paths (#10098)
  chore(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 in /documentation (#10107)
  regenerate schema (#10166)
  chore(deps): bump actions/stale from 10.1.1 to 10.3.0 (#10050)
  chore(deps): bump actions/attest-build-provenance from 4.1.0 to 4.1.1 (#10049)
  chore(deps): bump pnpm/action-setup from 6.0.8 to 6.0.9 (#9892)
  Update EmpirioLabs provider display name to EmpirioLabs AI (#10126)
  add declarative provider support to goose-providers crate (#9992)
  fix(desktop): seed mac auto-update config (#10132)
  Update release testing instructions (#10122)
jamadeo pushed a commit that referenced this pull request Jul 1, 2026
Co-authored-by: Douwe M Osinga <douwe@sidewalklabs.com>
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