Skip to content

feat: add a scheduled release cut workflow to cut release branches#6739

Merged
mihir20 merged 4 commits intomasterfrom
mihir/automate-release-cut
Mar 5, 2026
Merged

feat: add a scheduled release cut workflow to cut release branches#6739
mihir20 merged 4 commits intomasterfrom
mihir/automate-release-cut

Conversation

@mihir20
Copy link
Contributor

@mihir20 mihir20 commented Mar 4, 2026

Description

Purpose

Automates biweekly release branch creation for rudder-server.

Two repository variables control the behavior:

  • PAUSE_AUTO_RELEASE — set to "true" to skip scheduled releases (release freeze). Manual workflow_dispatch still works so you can override the freeze if needed.
  • RELEASE_WEEK_PARITY — set to "even" (default) or "odd" to control which ISO weeks are release weeks.

Trigger

  • Cron: Every Monday at 8:30 AM UTC (2:00 PM IST)
  • Manual: workflow_dispatch with optional version override

Jobs

  1. check-schedule
  • Enforces biweekly cadence using ISO week number (even week = release week)
  • Manual dispatches always proceed
  1. release-cut

Runs only if check-schedule says it's a release week.

Notable Details

  • Requires contents: write permission for pushing branches
  • Uses pinned actions/checkout (SHA for v4.3.0)
  • Slack notification uses slackapi/slack-github-action@v1.26.0

Linear Ticket

Security

  • The code changed/added as part of this pull request won't create any security issues with how the software is being used.

🔒 Scanned for secrets using gitleaks 8.28.0
@mihir20 mihir20 marked this pull request as ready for review March 4, 2026 09:20
outputs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- name: Check biweekly schedule
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need to schedule this? Can't we just trigger it manually?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

manual trigger is also there if we need to trigger release manually

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we need the automatic trigger, but will let @ktgowtham decide :)

Copy link
Contributor

Choose a reason for hiding this comment

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

We generally get confirmation from team members of any pending PRs before cutting a release. So with scheduled action, we might sometimes need to cut it again, if team members aren't ready.
I'm fine keeping it manual for now.
But thanks for this PR, we don't need to do these steps manually now. Also avoids any typo issues when creating branches.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think keeping this automated will make people get their PRs merged before the cut. We can try to keep this automated for sometime, if we feel that automation is not required, we can disable the schedule.

wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

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

okay. let's communicate to wider team about this and that their PRs need to be merged before the scheduled time. anything later, they'll have to reach out to consider the PR.
Let's add a slack reminder in #server-dev a day before to merge any pending PRs before the cut off time.

Copy link
Contributor Author

@mihir20 mihir20 Mar 5, 2026

Choose a reason for hiding this comment

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

also I am adding two repository variables to control the behavior:

  • PAUSE_AUTO_RELEASE — set to "true" to skip scheduled releases (release freeze). Manual workflow_dispatch still works so you can override the freeze if needed.
  • RELEASE_WEEK_PARITY — set to "even" (default) or "odd" to control which ISO weeks are release weeks.

@mihir20 mihir20 requested a review from atzoum March 4, 2026 17:59
@codecov
Copy link

codecov bot commented Mar 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.69%. Comparing base (55ecd10) to head (5cd8753).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6739      +/-   ##
==========================================
+ Coverage   79.67%   79.69%   +0.02%     
==========================================
  Files         565      565              
  Lines       63376    63376              
==========================================
+ Hits        50494    50509      +15     
+ Misses       9895     9884      -11     
+ Partials     2987     2983       -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

outputs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- name: Check biweekly schedule
Copy link
Contributor

Choose a reason for hiding this comment

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

We generally get confirmation from team members of any pending PRs before cutting a release. So with scheduled action, we might sometimes need to cut it again, if team members aren't ready.
I'm fine keeping it manual for now.
But thanks for this PR, we don't need to do these steps manually now. Also avoids any typo issues when creating branches.

@mihir20 mihir20 enabled auto-merge (squash) March 5, 2026 09:18
…iable

🔒 Scanned for secrets using gitleaks 8.28.0
@mihir20 mihir20 merged commit ab887ac into master Mar 5, 2026
84 of 85 checks passed
@mihir20 mihir20 deleted the mihir/automate-release-cut branch March 5, 2026 10:16
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.

3 participants