Skip to content

feat(distribution): publish installer archives through R2 - #279

Merged
Teakowa merged 2 commits into
mainfrom
codex/issue-261-r2-distribution
Sep 8, 2026
Merged

feat(distribution): publish installer archives through R2#279
Teakowa merged 2 commits into
mainfrom
codex/issue-261-r2-distribution

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • publish verified native archives and checksums to the R2-backed installer routes after the GitHub Release is public
  • advance latest/version only after public byte and cache-header verification
  • move install.sh latest and pinned downloads to releases.wrightkit.dev while retaining mandatory checksum validation

Validation

  • actionlint .github/workflows/release.yml
  • scripts/test-install.sh
  • python3 scripts/test-distribution-install-sh.py
  • python3 scripts/verify-dist.py
  • cargo fmt --all -- --check

Release configuration

Requires existing CLOUDFLARE_ACCOUNT_ID plus R2_ACCESS_KEY_ID and R2_SECRET_ACCESS_KEY. The workflow uses the configured wrightkit-release bucket and releases.wrightkit.dev custom domain.

Fixes #261

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Blocking — .github/workflows/release.yml changes publish-tap to depend on publish-r2. #261 explicitly keeps package-manager ownership/publication out of scope unless this distribution contract requires it, and the updated docs state that Homebrew continues to consume the canonical GitHub Release artifacts. With this dependency, any R2 credential/domain/upload failure after a successful public GitHub Release also prevents the Homebrew tap from updating, coupling an otherwise independent release channel to R2. Keep publish-tap gated by package-manifests + publish-release, and let publish-r2 run independently after publish-release.

@e54-bot

e54-bot commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed in a9a19a4: publish-tap again depends only on package-manifests and publish-release, while publish-r2 remains an independent post-release job. The release documentation now states that the R2 and Homebrew publication paths are independent.

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@Teakowa
Teakowa merged commit ee20d1c into main Sep 8, 2026
16 of 17 checks passed
@Teakowa
Teakowa deleted the codex/issue-261-r2-distribution branch September 8, 2026 05:35
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Make Workshop Great Again Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

Serve installer binaries from Cloudflare R2

2 participants