Skip to content

Skip release note creation for RC releases#424

Merged
menakaj merged 1 commit intomainfrom
worktree-snazzy-soaring-ladybug
Feb 24, 2026
Merged

Skip release note creation for RC releases#424
menakaj merged 1 commit intomainfrom
worktree-snazzy-soaring-ladybug

Conversation

@a5anka
Copy link
Copy Markdown
Member

@a5anka a5anka commented Feb 24, 2026

Summary

  • Added an if condition to the create-release job in the release pipeline to skip GitHub release note creation when the target-release version contains the -rc<Number> postfix (e.g., 0.0.1-rc1, 1.2.3-rc10)

Summary by CodeRabbit

  • Chores
    • Modified the release workflow to conditionally skip the Create Release step for versions containing a release candidate suffix.

Skip the create-release job when the target-release version contains
the -rc<Number> postfix (e.g., 0.0.1-rc1), as RC releases do not
require a GitHub release note.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 24, 2026

📝 Walkthrough

Walkthrough

The GitHub Actions release workflow now includes a conditional check to prevent the Create Release job from executing when the target release version contains a -rc (release candidate) suffix. This adds a gating condition to the existing workflow without altering other steps.

Changes

Cohort / File(s) Summary
Release Workflow Gating
.github/workflows/release.yml
Added conditional to prevent Create Release job execution for release candidate versions (containing -rc suffix).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A single line hops into place,
No -rc releases in this race!
The workflow now checks with care,
Release candidates pause mid-air,
Hippity-hop, control takes flight!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description only includes a brief summary of changes and does not follow the repository's comprehensive description template covering purpose, goals, approach, testing, and other required sections. Expand the description to include Purpose, Goals, Approach, Release note, Documentation, and other relevant sections from the template to provide complete context for the change.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a gating condition to skip release note creation for RC releases, which aligns with the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch worktree-snazzy-soaring-ladybug

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@a5anka a5anka changed the title chore: skip release note creation for RC releases Skip release note creation for RC releases Feb 24, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
.github/workflows/release.yml (2)

172-185: Heads-up: floating major-version tag is still updated for RC releases

prepare-release unconditionally moves the major version tag (e.g., amp/v0) to the RC commit (lines 172–185). After this PR, RC builds will produce images, charts, and a git tag — and silently shift the amp/v0 floating tag to an RC commit — without creating a corresponding GitHub release. Consumers pinned to the major tag will transparently receive RC artifacts.

This is pre-existing behaviour, but it becomes more likely to be triggered now that the workflow explicitly accommodates -rc versions. Consider adding the same !contains(inputs.target-release, '-rc') guard to the major-tag block, or document that this is intentional.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml around lines 172 - 185, The workflow
unconditionally moves the floating major tag (MAJOR_TAG derived from
MAJOR_VERSION) even for release candidates, causing amp/vX to point at RC
commits; update the prepare-release job so the major-tag block (the logic that
computes MAJOR_VERSION/MAJOR_TAG and deletes/pushes the tag) only runs when
inputs.target-release does NOT contain "-rc" (use GitHub Actions expression like
!contains(inputs.target-release, '-rc')) to skip MAJOR_TAG creation/update for
RCs, or alternatively document that prepare-release intentionally updates
MAJOR_TAG for RCs if you prefer that behavior.

362-362: LGTM — minor note on the match breadth

contains(inputs.target-release, '-rc') is a plain substring check, so it will also gate versions like 0.0.1-rcandidate or 0.0.1-rc (no trailing number). Given that the only convention described in the PR is -rc<Number>, this is intentionally conservative and unlikely to cause false positives in practice.

If you ever want to restrict the gate to the exact -rc<Number> pattern documented in the PR description, a startsWith-safe approach would be:

💡 Optional: tighten the condition to the documented pattern
-    if: ${{ !contains(inputs.target-release, '-rc') }}
+    if: ${{ !contains(inputs.target-release, '-rc') || !contains(inputs.target-release, '-rc') }}

Actually, GitHub Actions expressions don't support regex natively in if, but you can express it clearly via the existing validate step — set an output like is-rc=true there and reference steps.validate.outputs.is-rc != 'true' here. This is purely optional given the current conventions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml at line 362, The current gating condition uses
contains(inputs.target-release, '-rc') which is a substring check; instead, set
a boolean output in your existing validate step (e.g.,
steps.validate.outputs.is-rc = 'true' when the tag matches the documented
-rc<Number> pattern) and replace the if with a precise check: use if:
steps.validate.outputs.is-rc != 'true' to only block true release-candidate
patterns; update the validate logic to compute is-rc using the exact pattern
logic you want and reference steps.validate.outputs.is-rc in the job that
currently uses contains(inputs.target-release, '-rc').
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/release.yml:
- Around line 172-185: The workflow unconditionally moves the floating major tag
(MAJOR_TAG derived from MAJOR_VERSION) even for release candidates, causing
amp/vX to point at RC commits; update the prepare-release job so the major-tag
block (the logic that computes MAJOR_VERSION/MAJOR_TAG and deletes/pushes the
tag) only runs when inputs.target-release does NOT contain "-rc" (use GitHub
Actions expression like !contains(inputs.target-release, '-rc')) to skip
MAJOR_TAG creation/update for RCs, or alternatively document that
prepare-release intentionally updates MAJOR_TAG for RCs if you prefer that
behavior.
- Line 362: The current gating condition uses contains(inputs.target-release,
'-rc') which is a substring check; instead, set a boolean output in your
existing validate step (e.g., steps.validate.outputs.is-rc = 'true' when the tag
matches the documented -rc<Number> pattern) and replace the if with a precise
check: use if: steps.validate.outputs.is-rc != 'true' to only block true
release-candidate patterns; update the validate logic to compute is-rc using the
exact pattern logic you want and reference steps.validate.outputs.is-rc in the
job that currently uses contains(inputs.target-release, '-rc').

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1049e50 and 515746d.

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

@menakaj menakaj merged commit 1feb860 into main Feb 24, 2026
2 checks passed
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