Skip to content

Migrate desktop installer distribution to R2 / amd-gaia.ai when website lands #734

Closed

Description

@kovtcharov

Context

PR #731 ships the desktop installer via GitHub Releases for v0.17.2. The original plan (docs/plans/desktop-installer.mdx §7 Phase 6) called for distributing via Cloudflare R2 at downloads.amd-gaia.ai/latest/. R2 was deferred because:

  1. Cloudflare account ownership wasn't decided
  2. The custom domain (downloads.amd-gaia.ai) needed DNS setup
  3. GitHub Releases works fine as a stop-gap (free, no infra)

This issue tracks the eventual migration when the website / R2 infrastructure lands.

What needs to happen

Cloudflare side

  1. Decide R2 ownership: AMD-managed Cloudflare account or shared with the website project?
  2. Create R2 bucket gaia-releases with public read access
  3. Set up custom domain downloads.amd-gaia.ai as a CNAME → R2 bucket
  4. Generate API token with R2 write access scoped to gaia-releases

GitHub Action secrets (in amd/gaia repo)

Add:

  • CF_API_TOKEN — Cloudflare API token from above
  • CF_ACCOUNT_ID — your Cloudflare account ID
  • R2_BUCKET — gaia-releases

Code changes (small)

  1. .github/workflows/build-installers.yml — add an R2 upload step alongside the existing GitHub Releases upload, gated on CF_API_TOKEN being present. The step should sync dist-app/*.{exe,dmg,deb,AppImage,blockmap,yml} to r2://gaia-releases/v${VERSION}/ AND r2://gaia-releases/latest/.

  2. src/gaia/apps/webui/electron-builder.yml — change the publish provider from GitHub to generic:

    publish:
      provider: generic
      url: https://downloads.amd-gaia.ai/latest/
  3. Update the install guide (docs/guides/install.mdx) to point at https://downloads.amd-gaia.ai/<platform>/... instead of GitHub Releases.

  4. Update README badges to point at https://downloads.amd-gaia.ai/.

Why bother with R2?

  • Faster downloads for users outside North America (Cloudflare's CDN vs GitHub's single-region)
  • Stable latest/ URL that doesn't require resolving the latest release tag
  • No GitHub API rate limits for electron-updater (anonymous calls to public repos work but have low quotas at scale)
  • Cleaner URL in marketing material (downloads.amd-gaia.ai/win/GAIA Setup.exe vs the long GH Releases URL)

When?

This is not blocking v0.17.2. PR #731 ships installers via GitHub Releases successfully. R2 migration happens when:

  • The amd-gaia.ai website project is far enough along to justify the infra
  • Download volume / user feedback suggests CDN performance matters

Until then, electron-updater uses the GitHub provider config in electron-builder.yml, which works fine for public repos with no auth.

See also

Activity

  1. added
    track:platformFoundation that both consumer-app and oem-pc tracks consume
    on Apr 26, 2026
  2. added this to the vFutures milestone on Apr 26, 2026
  3. added
    domain:platformFoundation: Lemonade, providers, runtime, install, packaging
    on Apr 26, 2026
  4. kovtcharov-amd commented on Oct 19, 2026

    @kovtcharov-amd
    Collaborator

    Closing as already fixed on main. Agent UI is published to R2 as an app (#1719 closed) with R2 auto-update (#1724 closed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:platformFoundation: Lemonade, providers, runtime, install, packaginginstallerInstaller changestrack:platformFoundation that both consumer-app and oem-pc tracks consume

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions