Skip to content

feat: opt into prerelease APK serving - #21

Merged
turin-dev merged 1 commit into
masterfrom
codex/preview-release-channel
Aug 26, 2026
Merged

feat: opt into prerelease APK serving#21
turin-dev merged 1 commit into
masterfrom
codex/preview-release-channel

Conversation

@turin-dev

Copy link
Copy Markdown
Owner

Summary

  • keep stable release selection as the default
  • add explicit RELEASE_INCLUDE_PRERELEASE=true support for preview deployments
  • record prerelease state in cache metadata so stable instances do not restore preview APKs
  • document the preview channel and add coverage

Verification

  • go test ./...
  • go vet ./...
  • go build ./...
  • local go test -race unavailable because this Windows shell has CGO_ENABLED=0; Linux CI will run the race job

Deployment context

The current signed agent-v0.1.0 GitHub release is a prerelease for controlled testing. This option is required for the Dokploy publicserver to serve that preview without changing the stable default.

@turin-dev
turin-dev merged commit efe27d8 into master Aug 26, 2026
10 checks passed
@turin-dev
turin-dev deleted the codex/preview-release-channel branch August 26, 2026 13:50

@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: b8e86c28b7

ℹ️ 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 on lines +225 to +226
if meta.Prerelease && !s.opts.IncludePrerelease {
return nil, fmt.Errorf("cached release %q is a prerelease but RELEASE_INCLUDE_PRERELEASE is disabled", meta.Tag)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve the prerelease cache as the version floor

When a deployment that previously cached a prerelease restarts with RELEASE_INCLUDE_PRERELEASE disabled, this rejection leaves s.current nil. The ensuing refresh therefore skips both monotonicity checks and can download a lower stable tag with a lower versionCode, replacing the newer cached artifact despite the documented no-downgrade guarantee. Keep the rejected prerelease's version metadata as a non-serving monotonic floor, or otherwise prevent a lower stable release from overwriting it.

Useful? React with 👍 / 👎.

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.

1 participant