Skip to content

Commit 0333399

Browse files
feat: introduce automated tag and release process in maintainer guide (#280)
1 parent 2b0dba4 commit 0333399

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

MAINTAINER.md

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,58 @@ go build ./cmd/readmevalidation && ./readmevalidation
4242

4343
## Making a Release
4444

45-
### Create Release Tags
45+
### Automated Tag and Release Process
4646

47-
After merging a PR:
47+
After merging a PR, use the automated script to create and push release tags:
4848

49-
1. Get the new version from the PR (shown as `old → new`)
50-
2. Checkout the merge commit and create the tag:
49+
**Prerequisites:**
50+
51+
- Ensure all module versions are updated in their respective README files (the script uses this as the source of truth)
52+
- Make sure you have the necessary permissions to push tags to the repository
53+
54+
**Steps:**
55+
56+
1. **Checkout the merge commit:**
57+
58+
```bash
59+
git checkout MERGE_COMMIT_ID
60+
```
61+
62+
2. **Run the tag release script:**
63+
64+
```bash
65+
./scripts/tag_release.sh
66+
```
67+
68+
3. **Review and confirm:**
69+
- The script will automatically scan all modules in the registry
70+
- It will detect which modules need version bumps by comparing README versions to existing tags
71+
- A summary will be displayed showing which modules need tagging
72+
- Confirm the list is correct when prompted
73+
74+
4. **Automatic tagging:**
75+
- After confirmation, the script will automatically create all necessary release tags
76+
- Tags will be pushed to the remote repository
77+
- The script operates on the current checked-out commit
78+
79+
**Example output:**
80+
81+
```text
82+
🔍 Scanning all modules for missing release tags...
83+
84+
📦 coder/code-server: v4.1.2 (needs tag)
85+
✅ coder/dotfiles: v1.0.5 (already tagged)
86+
87+
## Tags to be created:
88+
- `release/coder/code-server/v4.1.2`
89+
90+
❓ Do you want to proceed with creating and pushing these release tags?
91+
Continue? [y/N]: y
92+
```
93+
94+
### Manual Process (Fallback)
95+
96+
If the automated script fails, you can manually tag and release modules:
5197

5298
```bash
5399
# Checkout the merge commit
File renamed without changes.

0 commit comments

Comments
 (0)