Skip to content

feat(release): publish a new "nightly" release every day at 2am PST - #679

Merged
twitchyliquid64 merged 1 commit into
mainfrom
tom/release
Jul 8, 2026
Merged

feat(release): publish a new "nightly" release every day at 2am PST#679
twitchyliquid64 merged 1 commit into
mainfrom
tom/release

Conversation

@twitchyliquid64

@twitchyliquid64 twitchyliquid64 commented Jul 8, 2026

Copy link
Copy Markdown
Member

At 2am PST, kicks off a workflow that builds a release from HEAD if one does not already exist, before promoting it to nightly.

Summary by CodeRabbit

  • New Features

    • Added an automated daily nightly release flow.
    • Enabled the release process to be triggered from another workflow.
  • Bug Fixes

    • Prevents promoting a nightly channel update when the expected version is not available.
    • Skips unnecessary nightly releases when the latest build already exists.

@twitchyliquid64 twitchyliquid64 changed the title feat(release): publish a new "nightly" release every dat at 2am PST feat(release): publish a new "nightly" release every day at 2am PST Jul 8, 2026
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Introduces a new nightly.yml GitHub Actions workflow that computes a SHA, checks for an existing staged release in GCS, conditionally calls release.yml, and promotes the nightly channel via scripts/set-channel.sh. release.yml is updated to accept workflow_call triggers.

Changes

Nightly Workflow

Layer / File(s) Summary
Triggers and permissions
.github/workflows/nightly.yml
Adds daily cron/manual dispatch triggers and permissions for release creation and Google OIDC auth.
Staged artifact check
.github/workflows/nightly.yml
Computes HEAD short SHA and checks GCS bucket for existing staged manifest to determine should_release.
Conditional release invocation
.github/workflows/nightly.yml, .github/workflows/release.yml
Adds a release job that calls release.yml via workflow_call when should_release is true; release.yml now accepts workflow_call triggers.
Nightly channel promotion
.github/workflows/nightly.yml
Authenticates to Google Cloud and runs scripts/set-channel.sh to move the nightly channel to the computed SHA.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant NightlyWorkflow
  participant CheckJob
  participant ReleaseWorkflow
  participant GCSBucket
  NightlyWorkflow->>CheckJob: compute SHA
  CheckJob->>GCSBucket: check staged manifest exists
  GCSBucket-->>CheckJob: exists/not found
  CheckJob-->>NightlyWorkflow: should_release output
  NightlyWorkflow->>ReleaseWorkflow: workflow_call (if should_release)
  ReleaseWorkflow-->>NightlyWorkflow: staged artifacts
  NightlyWorkflow->>NightlyWorkflow: promote-nightly runs set-channel.sh
Loading

Possibly related PRs

  • gominimal/minimal#620: Both PRs modify the release workflow definition in .github/workflows/release.yml, related to how release is triggered.

Suggested reviewers: norrietaylor, jtnkminimal

Poem

A hop at dawn, a check, a SHA,
If nothing's staged, we skip the fray,
But when it's time, we call for release,
And nudge the nightly channel to peace.
🐇✨ Ship it while the moon's still up!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding a daily nightly release workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/nightly.yml:
- Around line 71-74: The google-github-actions/auth@v3 step is using a numeric
value for project_id instead of the actual GCP project ID. Update the auth
configuration so project_id contains the string project identifier, and keep the
numeric project number only in workload_identity_provider. Use the existing auth
step fields to locate and correct the value without changing the provider
format.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e638c910-ab8c-4a69-8bbf-02708f37bc29

📥 Commits

Reviewing files that changed from the base of the PR and between 53afd9c and 2a70ffb.

📒 Files selected for processing (2)
  • .github/workflows/nightly.yml
  • .github/workflows/release.yml

Comment thread .github/workflows/nightly.yml
@twitchyliquid64
twitchyliquid64 merged commit 1215996 into main Jul 8, 2026
9 checks passed
@twitchyliquid64
twitchyliquid64 deleted the tom/release branch July 8, 2026 22:52
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