From 3ac0cdada85b76eb84bc46868631c399a08fe406 Mon Sep 17 00:00:00 2001 From: Lingling Ye Date: Thu, 26 Mar 2026 17:07:55 +0800 Subject: [PATCH 1/3] agent skill for release --- .github/skills/go-provider-release/SKILL.md | 86 +++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/skills/go-provider-release/SKILL.md diff --git a/.github/skills/go-provider-release/SKILL.md b/.github/skills/go-provider-release/SKILL.md new file mode 100644 index 0000000..f67d33e --- /dev/null +++ b/.github/skills/go-provider-release/SKILL.md @@ -0,0 +1,86 @@ +--- +name: go-provider-release +description: "Release the Azure App Configuration Go Provider. Use when: releasing a new version, bumping version, tagging a release, publishing to Go proxy, creating release PRs." +argument-hint: "Target version number, e.g. 1.1.0" +--- + +# Go Provider Release + +## When to Use + +- Release a new version of the Azure App Configuration Go Provider +- Bump the module version and publish to the Go module proxy + +## Prerequisites + +- You must be on the repository: `AppConfiguration-GoProvider` +- You need appropriate permissions to push tags and create PRs + +## Procedure + +Follow these steps **in order**. Each step depends on the previous one completing successfully. + +### Step 1 — Create Version Bump PR + +Use the GitHub agent to create a pull request: +- **Source branch**: `release/v` (e.g. `release/v1.1.0`) +- **Target branch**: `main` +- **Change**: Update `moduleVersion` in `azureappconfiguration/version.go` to the new version +- **PR title**: `Release v` + +Wait for the PR to be created, then inform the user to review and merge it. + +> **Pause here.** Do not proceed until the user confirms the version bump PR has been merged. + +### Step 2 — Tag the Release + +After the version bump PR is merged, create a git tag at the HEAD of the release branch: + +``` +git tag azureappconfiguration/v +``` + +Example: `git tag azureappconfiguration/v1.1.0` + +### Step 3 — Push the Tag + +Push the tag to the remote: + +``` +git push origin azureappconfiguration/v +``` + +Example: `git push origin azureappconfiguration/v1.1.0` + +### Step 4 — Publish to Go Module Proxy + +**Before executing the publish command**, generate a summary report table for human review: + +| Item | Detail | +|---------------------|---------------------------------------------------------------------| +| **Version** | `v` | +| **Version file** | `azureappconfiguration/version.go` updated to `` | +| **Tag pushed** | `azureappconfiguration/v` | +| **Publish command** | `GOPROXY=proxy.golang.org go list -m github.com/Azure/AppConfiguration-GoProvider/azureappconfiguration@v` | +| **Next step** | After publish, create merge-back PR (release branch → main) | + +> **Pause here.** Present the table and wait for the user to confirm before proceeding. + +After user confirmation, run: + +``` +GOPROXY=proxy.golang.org go list -m github.com/Azure/AppConfiguration-GoProvider/azureappconfiguration@v +``` + +### Step 5 — Create Merge-Back PR + +Use the GitHub agent to create a pull request to merge the release branch back to main: +- **Source branch**: `release/v` +- **Target branch**: `main` +- **PR title**: `Merge release/v back to main` + +## Notes + +- The version in `azureappconfiguration/version.go` uses the format `X.Y.Z` (no `v` prefix) in the `moduleVersion` constant. +- Tags use the format `azureappconfiguration/vX.Y.Z` (with `v` prefix and module path prefix). +- The publish command only changes the version portion: `@vX.Y.Z`. From 1a7baf1909913d68bdf1a4db1356ecfd59a1cbeb Mon Sep 17 00:00:00 2001 From: "Lingling Ye (from Dev Box)" Date: Fri, 27 Mar 2026 13:16:56 +0800 Subject: [PATCH 2/3] update --- .github/skills/go-provider-release/SKILL.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/skills/go-provider-release/SKILL.md b/.github/skills/go-provider-release/SKILL.md index f67d33e..b437eb2 100644 --- a/.github/skills/go-provider-release/SKILL.md +++ b/.github/skills/go-provider-release/SKILL.md @@ -23,10 +23,10 @@ Follow these steps **in order**. Each step depends on the previous one completin ### Step 1 — Create Version Bump PR Use the GitHub agent to create a pull request: -- **Source branch**: `release/v` (e.g. `release/v1.1.0`) -- **Target branch**: `main` +- **Source branch**: A new branch checked out from `release/v` (e.g. `version-bump/v`) +- **Target branch**: `release/v` - **Change**: Update `moduleVersion` in `azureappconfiguration/version.go` to the new version -- **PR title**: `Release v` +- **PR title**: `Version bump v` Wait for the PR to be created, then inform the user to review and merge it. @@ -77,7 +77,7 @@ GOPROXY=proxy.golang.org go list -m github.com/Azure/AppConfiguration-GoProvider Use the GitHub agent to create a pull request to merge the release branch back to main: - **Source branch**: `release/v` - **Target branch**: `main` -- **PR title**: `Merge release/v back to main` +- **PR title**: `Merge release/v to main` ## Notes From 9df19c1506c8cb658ecd1bb04cfff73983c9cc62 Mon Sep 17 00:00:00 2001 From: "Lingling Ye (from Dev Box)" Date: Fri, 27 Mar 2026 13:31:50 +0800 Subject: [PATCH 3/3] update --- .github/skills/go-provider-release/SKILL.md | 48 +++++++++++++++------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/.github/skills/go-provider-release/SKILL.md b/.github/skills/go-provider-release/SKILL.md index b437eb2..a939120 100644 --- a/.github/skills/go-provider-release/SKILL.md +++ b/.github/skills/go-provider-release/SKILL.md @@ -13,8 +13,10 @@ argument-hint: "Target version number, e.g. 1.1.0" ## Prerequisites -- You must be on the repository: `AppConfiguration-GoProvider` -- You need appropriate permissions to push tags and create PRs +- GitHub CLI (`gh`) ≥ 2.86.0 +- Authenticated via `gh auth login` with `repo` and `read:org` scopes +- GitHub Copilot agent enabled for the repository +- Write access to `Azure/AppConfiguration-GoProvider` ## Procedure @@ -22,13 +24,25 @@ Follow these steps **in order**. Each step depends on the previous one completin ### Step 1 — Create Version Bump PR -Use the GitHub agent to create a pull request: -- **Source branch**: A new branch checked out from `release/v` (e.g. `version-bump/v`) -- **Target branch**: `release/v` -- **Change**: Update `moduleVersion` in `azureappconfiguration/version.go` to the new version -- **PR title**: `Version bump v` +Use `gh agent-task create` to create a version bump PR: -Wait for the PR to be created, then inform the user to review and merge it. +```bash +gh agent-task create \ + "Please create a version bump PR for version . \ + Checkout a new branch from release/v (e.g. version-bump/v), \ + update the moduleVersion in azureappconfiguration/version.go to , \ + and open a PR targeting the release/v branch with title 'Version bump v'." \ + --repo Azure/AppConfiguration-GoProvider \ + --base release/v +``` + +After launching the agent task, monitor its progress: + +```bash +gh agent-task list --repo Azure/AppConfiguration-GoProvider +``` + +Once the agent task completes and the PR is created, inform the user to review and merge it. > **Pause here.** Do not proceed until the user confirms the version bump PR has been merged. @@ -74,10 +88,20 @@ GOPROXY=proxy.golang.org go list -m github.com/Azure/AppConfiguration-GoProvider ### Step 5 — Create Merge-Back PR -Use the GitHub agent to create a pull request to merge the release branch back to main: -- **Source branch**: `release/v` -- **Target branch**: `main` -- **PR title**: `Merge release/v to main` +Use `gh agent-task create` to create a pull request to merge the release branch back to main: + +```bash +gh agent-task create \ + "Please create a PR to merge release/v back to main with title 'Merge release/v to main'." \ + --repo Azure/AppConfiguration-GoProvider \ + --base main +``` + +Monitor the agent task until the PR is created: + +```bash +gh agent-task list --repo Azure/AppConfiguration-GoProvider +``` ## Notes