From e9c1aed86afb7d80f1876220b67b6468f3f91b3c Mon Sep 17 00:00:00 2001 From: DevelopmentCats Date: Fri, 1 Aug 2025 00:44:28 +0000 Subject: [PATCH 1/2] feat: introduce automated tag and release process in maintainer guide --- MAINTAINER.md | 54 +++++++++++++++++++-- {.github/scripts => scripts}/tag_release.sh | 0 2 files changed, 50 insertions(+), 4 deletions(-) rename {.github/scripts => scripts}/tag_release.sh (100%) diff --git a/MAINTAINER.md b/MAINTAINER.md index 49e279d6..d6eff242 100644 --- a/MAINTAINER.md +++ b/MAINTAINER.md @@ -42,12 +42,58 @@ go build ./cmd/readmevalidation && ./readmevalidation ## Making a Release -### Create Release Tags +### Automated Tag and Release Process -After merging a PR: +After merging a PR, use the automated script to create and push release tags: -1. Get the new version from the PR (shown as `old → new`) -2. Checkout the merge commit and create the tag: +**Prerequisites:** + +- Ensure all module versions are updated in their respective README files (the script uses this as the source of truth) +- Make sure you have the necessary permissions to push tags to the repository + +**Steps:** + +1. **Checkout the merge commit:** + + ```bash + git checkout MERGE_COMMIT_ID + ``` + +2. **Run the tag release script:** + + ```bash + ./scripts/tag_release.sh + ``` + +3. **Review and confirm:** + - The script will automatically scan all modules in the registry + - It will detect which modules need version bumps by comparing README versions to existing tags + - A summary will be displayed showing which modules need tagging + - Confirm the list is correct when prompted + +4. **Automatic tagging:** + - After confirmation, the script will automatically create all necessary release tags + - Tags will be pushed to the remote repository + - The script operates on the current checked-out commit + +**Example output:** + +```text +🔍 Scanning all modules for missing release tags... + +📦 coder/code-server: v4.1.2 (needs tag) +✅ coder/dotfiles: v1.0.5 (already tagged) + +## Tags to be created: +- `release/coder/code-server/v4.1.2` + +❓ Do you want to proceed with creating and pushing these release tags? +Continue? [y/N]: y +``` + +### Manual Process (Fallback) + +If the automated script fails or for single module releases: ```bash # Checkout the merge commit diff --git a/.github/scripts/tag_release.sh b/scripts/tag_release.sh similarity index 100% rename from .github/scripts/tag_release.sh rename to scripts/tag_release.sh From 8e1e5ef013b9cd72389496cd9e461ee1514eb2f4 Mon Sep 17 00:00:00 2001 From: DevCats Date: Fri, 1 Aug 2025 07:52:19 -0500 Subject: [PATCH 2/2] chore: update wording for manual release --- MAINTAINER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINER.md b/MAINTAINER.md index d6eff242..22326574 100644 --- a/MAINTAINER.md +++ b/MAINTAINER.md @@ -93,7 +93,7 @@ Continue? [y/N]: y ### Manual Process (Fallback) -If the automated script fails or for single module releases: +If the automated script fails, you can manually tag and release modules: ```bash # Checkout the merge commit