Skip to content

chore: promote staging → main (0.5.1 test release)#95

Merged
himerus merged 6 commits intomainfrom
staging
Mar 19, 2026
Merged

chore: promote staging → main (0.5.1 test release)#95
himerus merged 6 commits intomainfrom
staging

Conversation

@himerus
Copy link
Copy Markdown
Contributor

@himerus himerus commented Mar 19, 2026

Summary

  • fix: exempt promotion and bot PRs from Changeset Required CI check
  • Includes changeset for 0.5.1 patch release
  • Purpose: test CHANGESET_TOKEN fix — verify CI checks fire on the resulting changeset release PR

Test plan

  • Merge to main triggers publish workflow
  • Publish workflow creates "chore: version packages" PR using CHANGESET_TOKEN
  • CI checks actually fire on that PR (not stuck as pending)
  • Merge release PR → 0.5.1 publishes to npm

Summary by CodeRabbit

  • Chores
    • Improved CI/CD workflow conditions and release management processes to optimize automation for specific branch scenarios.

@himerus himerus added the skip-changeset Skip changeset requirement (infra/CI PRs) label Mar 19, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 19, 2026

Walkthrough

A new changeset exemption file was added for the helixir package documenting a patch release. A job-level conditional was introduced in the changeset workflow to skip verification when the base branch is staging or main.

Changes

Cohort / File(s) Summary
Changeset Exemption Documentation
.changeset/ci-changeset-exemption.md
New changeset file declaring a patch release that exempts promotion and bot pull requests from the "Changeset Required CI" check via the skip-changeset label.
Changeset Workflow Configuration
.github/workflows/changeset.yml
Added job-level conditional to prevent changeset verification from running when a PR targets the staging or main branches.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is missing required template sections (Type of change, Tests added, Checklist) and does not follow the standard PR template structure. Add the missing template sections including Type of change checkboxes, Tests added confirmation, and the full verification checklist for linting, type-checking, testing, and building.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: promoting staging to main with a test release version bump to 0.5.1.
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
  • Commit unit tests in branch staging
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Copy link
Copy Markdown

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/changeset.yml:
- Around line 16-19: The current conditional using
github.event.pull_request.base.ref incorrectly skips the job for any PR
targeting 'staging' or 'main'; change the logic so the job is skipped only for
genuine promotion automation PRs by combining the base ref check with an
automation indicator such as github.actor or the PR author (e.g.
github.event.pull_request.user.login) or a promotion-specific head ref/label
(e.g. github.event.pull_request.head.ref startsWith 'promote/' or presence of a
'promotion' label). Update the if expression to require both
github.event.pull_request.base.ref == 'staging' || 'main' AND (github.actor ==
'<bot-name>' OR github.event.pull_request.user.login == '<bot-name>' OR
github.event.pull_request.head.ref matches the promotion pattern OR the PR has
the promotion label) so only bot/automation promotion PRs bypass the changeset
check.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 45f08808-0115-4541-a13c-6dfdf2be82ba

📥 Commits

Reviewing files that changed from the base of the PR and between b265677 and 023f99c.

📒 Files selected for processing (2)
  • .changeset/ci-changeset-exemption.md
  • .github/workflows/changeset.yml

Comment on lines +16 to +19
# Skip changeset check on promotion PRs (dev→staging, staging→main)
if: |
github.event.pull_request.base.ref != 'staging' &&
github.event.pull_request.base.ref != 'main'
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Condition is too broad and bypasses checks on all main/staging PRs.

At Line [17]-Line [19], this skips the job for any PR targeting main or staging, not only promotion/bot PRs. That weakens enforcement for non-promotion PRs to those branches.

Suggested narrowing of the exemption logic
-    # Skip changeset check on promotion PRs (dev→staging, staging→main)
-    if: |
-      github.event.pull_request.base.ref != 'staging' &&
-      github.event.pull_request.base.ref != 'main'
+    # Skip only known promotion and release-bot PRs
+    if: |
+      !(
+        (github.event.pull_request.base.ref == 'staging' && github.event.pull_request.head.ref == 'dev') ||
+        (github.event.pull_request.base.ref == 'main' && github.event.pull_request.head.ref == 'staging') ||
+        startsWith(github.event.pull_request.head.ref, 'changeset-release/')
+      )
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Skip changeset check on promotion PRs (dev→staging, staging→main)
if: |
github.event.pull_request.base.ref != 'staging' &&
github.event.pull_request.base.ref != 'main'
# Skip only known promotion and release-bot PRs
if: |
!(
(github.event.pull_request.base.ref == 'staging' && github.event.pull_request.head.ref == 'dev') ||
(github.event.pull_request.base.ref == 'main' && github.event.pull_request.head.ref == 'staging') ||
startsWith(github.event.pull_request.head.ref, 'changeset-release/')
)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/changeset.yml around lines 16 - 19, The current
conditional using github.event.pull_request.base.ref incorrectly skips the job
for any PR targeting 'staging' or 'main'; change the logic so the job is skipped
only for genuine promotion automation PRs by combining the base ref check with
an automation indicator such as github.actor or the PR author (e.g.
github.event.pull_request.user.login) or a promotion-specific head ref/label
(e.g. github.event.pull_request.head.ref startsWith 'promote/' or presence of a
'promotion' label). Update the if expression to require both
github.event.pull_request.base.ref == 'staging' || 'main' AND (github.actor ==
'<bot-name>' OR github.event.pull_request.user.login == '<bot-name>' OR
github.event.pull_request.head.ref matches the promotion pattern OR the PR has
the promotion label) so only bot/automation promotion PRs bypass the changeset
check.

@himerus himerus enabled auto-merge March 19, 2026 05:38
@himerus himerus merged commit 343c20f into main Mar 19, 2026
18 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset Skip changeset requirement (infra/CI PRs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant