Skip to content

Commit 0baeb1c

Browse files
Add release process documentation
1 parent 1d98491 commit 0baeb1c

2 files changed

Lines changed: 17 additions & 15 deletions

File tree

.github/workflows/post-release-sync.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This workflow merges release back into main after a successful release run.
2-
# If there are no conflicts, it commits directly and deletes the release branch.
2+
# If there are no conflicts, it commits directly to main.
33
# If there are conflicts, it creates a sync PR for manual resolution.
44
# Can also be started manually from the Actions tab.
55

@@ -68,12 +68,6 @@ jobs:
6868
echo "conflict_detected=false" >> "$GITHUB_OUTPUT"
6969
echo "merged=true" >> "$GITHUB_OUTPUT"
7070
71-
- name: 🗑️ Delete Release Branch
72-
if: steps.merge_sync.outputs.merged == 'true'
73-
run: |
74-
git push origin --delete "${SOURCE_BRANCH}"
75-
echo "✅ Deleted '${SOURCE_BRANCH}' branch."
76-
7771
- name: 🔔 Create Sync PR for Conflict Resolution
7872
if: steps.merge_sync.outputs.conflict_detected == 'true'
7973
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7

docs/content/community/contributing/release-process.mdx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Thunder follows a weekly release cycle. Work is planned, developed, and validate
1919
| --- | --- |
2020
| Monday | Weekly sync to plan the milestone, assign work, and confirm scope |
2121
| Monday to Thursday | Development, pull requests, reviews, and iteration |
22-
| Thursday night | Code freeze and release branch sync |
23-
| Friday | Validate milestone changes, fix or revert issues, then release |
22+
| Thursday 9:30 PM UTC (Friday 3:00 AM IST) | Pre-Release Sync: release branch created (if needed) and synced from main |
23+
| Friday | Validate milestone changes against the draft release; fix or revert issues directly on the release branch, then release |
2424

2525
---
2626

@@ -32,17 +32,25 @@ main ──●──●──●──●──┬──●──●──●─
3232
└── release ──○──○──◆ tag vX.Y.Z
3333
│ │ │
3434
fixes merge back to main
35-
validated and delete branch
35+
validated
3636
```
3737

38-
Development happens continuously on `main`. On Thursday night, a `release` branch is cut from `main`. Any fixes identified during release validation are applied directly to the release branch. Once everything is validated and the release is confirmed good, it is tagged and the branch is merged back into `main` and deleted.
38+
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, it is tagged and merged back into `main` automatically.
39+
40+
:::warning Important Note on Branching
41+
42+
A change should exist in **only one branch at a time**. The same change must not be merged separately into both `main` and `release`, as it can lead to duplication or inconsistencies during the release sync process.
43+
44+
:::
3945

4046
---
4147

4248
## 🧪 Release Validation
4349

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

52+
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.
53+
4654
In addition to 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.
4755

4856
---
@@ -56,7 +64,7 @@ The Release Manager coordinates release readiness and final release execution.
5664
3. **Create a draft release** — publish a draft GitHub release to verify release artifacts before going live.
5765
4. **Coordinate release validation** — confirm all milestone changes are validated against the draft release.
5866
5. **Trigger the Release Builder** — run the workflow manually once everything is confirmed good to release, or allow the scheduled release run.
59-
6. **Confirm post-release sync** — verify the release branch is synchronized back to main, ensure the milestone is closed and release notes are generated properly, and update stakeholders.
67+
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.
6068

6169
---
6270

@@ -81,7 +89,7 @@ The weekly release process uses these GitHub Actions workflows:
8189

8290
| Workflow | Trigger | What It Does |
8391
| --- | --- | --- |
84-
| [Pre-Release Sync](https://github.com/asgardeo/thunder/blob/main/.github/workflows/pre-release-sync.yml) | Scheduled on Thursday night (UTC) and manual dispatch | Creates the release branch and syncs the latest changes from main |
85-
| [Release Milestone Reminder](https://github.com/asgardeo/thunder/blob/main/.github/workflows/release-milestone-reminder.yaml) | Scheduled every Thursday and manual dispatch | Sends release-readiness reminder based on open milestone items |
92+
| [Pre-Release Sync](https://github.com/asgardeo/thunder/blob/main/.github/workflows/pre-release-sync.yml) | Thursday 9:30 PM UTC and manual dispatch | Merges main into release branch; commits directly if no conflicts, opens a PR otherwise |
93+
| [Release Milestone Reminder](https://github.com/asgardeo/thunder/blob/main/.github/workflows/release-milestone-reminder.yaml) | Thursday 6:00 AM IST and manual dispatch | Sends release-readiness reminder based on open milestone items |
8694
| [Release Builder](https://github.com/asgardeo/thunder/blob/main/.github/workflows/release-builder.yml) | Scheduled on Friday and manual dispatch | Builds, tags, packages, and publishes the release |
87-
| [Post-Release Sync](https://github.com/asgardeo/thunder/blob/main/.github/workflows/post-release-sync.yml) | After successful release workflow run and manual dispatch | Syncs release back into main, deletes release branch, or opens a conflict-resolution pull request |
95+
| [Post-Release Sync](https://github.com/asgardeo/thunder/blob/main/.github/workflows/post-release-sync.yml) | After successful release workflow run and manual dispatch | Merges release into main directly if no conflicts; opens a conflict-resolution PR otherwise |

0 commit comments

Comments
 (0)