Skip to main content

Release Operations

This page explains how ThunderID moves changes from development to a weekly release.


๐Ÿ“… Release Cadenceโ€‹

ThunderID follows a weekly release cycle. Work is planned, developed, and validated within a fixed weekly window.

DayActivity
MondayWeekly sync to plan the milestone, assign work, and confirm scope
Monday to ThursdayDevelopment, pull requests, reviews, and iteration
Thursday 9:30 PM UTC (Friday 3:00 AM IST)Pre-Release Sync: release branch created (if needed) and synced from main
FridayValidate milestone changes against the draft release; fix or revert issues directly on the release branch, then release

Branch Modelโ€‹

main โ”€โ”€โ—โ”€โ”€โ—โ”€โ”€โ—โ”€โ”€โ—โ”€โ”€โ”ฌโ”€โ”€โ—โ”€โ”€โ—โ”€โ”€โ—โ”€โ”€โ”€โ”€ (development continues)
โ”‚
โ””โ”€โ”€ release โ”€โ”€โ—‹โ”€โ”€โ—‹โ”€โ”€โ—† tag vX.Y.Z
โ”‚ โ”‚ โ”‚
fixes merge back to main
validated

Development happens continuously on main. On Thursday night, the Pre-Release Sync merges the latest changes from main into release branch. Any fixes identified during release validation are applied directly to the release branch. Once everything is validated and the release is confirmed good, the workflow tags it and merges it back into main automatically.

Avoid duplicate merges across branches

Do not merge the same change into both main and release separately. Each change should live in exactly one branch - merging it into both can cause duplication or conflicts when the branches are synced.


๐Ÿงช Release Validationโ€‹

Every change included in the milestone must be validated by someone other than the author before release.

A draft release is created before the final release to allow validation of all milestone changes against real release artifacts. If any issues are found during validation, fixes should be applied directly to the release branch and re-validated. Development can continue on main as usual during this time - only release-related fixes go into the release branch.

Alongside milestone-specific changes, core IAM flows - including authentication, authorization, and token management - are tested every release, regardless of what changed. This ensures baseline functionality is never silently broken between releases.


๐Ÿ”– Release Manager Responsibilitiesโ€‹

The Release Manager coordinates release readiness and final release execution.

  1. Lead the weekly sync - confirm milestone scope and identify at-risk work.
  2. Review readiness on Thursday - check milestone issues and pull requests for blockers.
  3. Create a draft release - publish a draft GitHub release to verify release artifacts before going live.
  4. Coordinate release validation - confirm all milestone changes are validated against the draft release.
  5. Trigger the Release Builder - run the workflow manually once everything is confirmed good to release, or allow the scheduled release run.
  6. Confirm post-release sync - verify the release branch is merged back into main, ensure the milestone is closed and release notes are generated properly, and update stakeholders.

๐Ÿšจ When Issues Ariseโ€‹

Default stance: revert and release on time.

SituationAction
Milestone change fails and quick fix is clearAuthor fixes on release branch and re-validates
Milestone change fails and fix is complexRevert from release branch, release without it, carry to next week
Release validation fails and cause is clearRevert causing change and release without it
Release validation fails and cause is unclearRevert suspected change and investigate on main next week

A predictable release train matters more than any single feature.


โš™๏ธ Automation Workflowsโ€‹

The weekly release process uses these GitHub Actions workflows:

WorkflowTriggerWhat It Does
Pre-Release SyncThursday 9:30 PM UTC and manual dispatchMerges main into release branch; commits directly if no conflicts, opens a PR otherwise
Release Milestone ReminderThursday 6:00 AM IST and manual dispatchSends release-readiness reminder based on open milestone items
Release BuilderScheduled on Friday and manual dispatchBuilds, tags, packages, and publishes the release
Post-Release SyncAfter successful release workflow run and manual dispatchMerges release into main directly if no conflicts; opens a conflict-resolution PR otherwise
ThunderID LogoThunderID Logo

Work together seamlessly with secure your applications with ease.

Terms & Policy

Pages

HomeDocsAPIsSDKs
ยฉ WSO2 LLC. All rights reserved.