| name | prepare-release |
|---|---|
| description | Prepare a release for the Azure App Configuration JavaScript Provider. Use when user mentions release preparation, version bump, creating merge PRs, preview release, or stable release for this project. |
This skill automates the release preparation workflow for the Azure App Configuration JavaScript Provider project.
Use this skill when you need to:
- Bump the package version for a new stable or preview release
- Create merge PRs to sync branches (main → preview, main → release/stable, preview → release)
- Prepare all the PRs needed before publishing a new release
- Resolve merge conflicts between main and preview branches
- GitHub Repo: https://github.com/Azure/AppConfiguration-JavaScriptProvider
- Package Name:
@azure/app-configuration-provider
main– primary development branch for stable releasespreview– development branch for preview releasesrelease/stable/v{major}– release branch for stable versions (e.g.,release/stable/v2)release/v{major}– release branch for preview versions (e.g.,release/v2)
The version must be updated in all four locations simultaneously:
src/version.ts– line 4:export const VERSION = "<version>";package.json– line 3:"version": "<version>",package-lock.json– line 3:"version": "<version>",package-lock.json– line 9:"version": "<version>",
- Stable:
{major}.{minor}.{patch}(e.g.,2.4.0) - Preview:
{major}.{minor}.{patch}-preview(e.g.,2.4.1-preview)
Ask the user whether this is a stable or preview release, and what the new version number should be. Then follow the appropriate workflow below.
Create a version bump PR targeting main.
- Read the current version from
src/version.ts. - Create a new branch from
mainnamed<username>/version-<new_version>(e.g.,linglingye/version-2.4.0). - Update the version in all four files:
src/version.ts(line 4)package.json(line 3)package-lock.json(line 3 and line 9)
- Commit the changes with message:
version bump <new_version>. - Push the branch and create a PR to
mainwith title:Version bump <new_version>.
Sample PR: #277
After the version bump PR is merged, create a PR to merge main into the stable release branch.
- Determine the major version from the new version string (e.g.,
2from2.4.0). - Create a PR from
main→release/stable/v{major}(e.g.,release/stable/v2). - Title the PR:
Merge main to release/stable/v{major}.
Important: Use "Merge commit" (not squash) when merging this PR to preserve commit history.
Sample PR: #268
Create a PR to merge main into preview. This will likely have conflicts.
- Fetch the latest
mainandpreviewbranches. - Create a new branch from
previewnamed<username>/resolve-conflict(or similar). - Merge
maininto this branch. If there are conflicts, inform the user and let them resolve manually. - Push the branch and create a PR targeting
previewwith title:Merge main to preview.
Important: Use "Merge commit" (not squash) when merging this PR.
Sample PR: #272
After the merge-to-preview PR is merged, create a version bump PR targeting preview.
- Read the current version from
src/version.tson thepreviewbranch. - Create a new branch from
previewnamed<username>/version-<new_version>(e.g.,linglingye/version-2.4.1-preview). - Update the version in all four files:
src/version.ts(line 4)package.json(line 3)package-lock.json(line 3 and line 9)
- Commit the changes with message:
version bump <new_version>. - Push the branch and create a PR to
previewwith title:Version bump <new_version>.
After the version bump PR is merged, create a PR to merge preview into the preview release branch.
- Determine the major version from the new version string (e.g.,
2from2.4.1-preview). - Create a PR from
preview→release/v{major}(e.g.,release/v2). - Title the PR:
Merge preview to release/v{major}.
Important: Use "Merge commit" (not squash) when merging this PR.
Sample PR: #274
Each PR should be reviewed with the following checks:
- Version is updated consistently across all 3 files
- No unintended file changes are included
- Merge PRs use merge commit strategy (not squash)
- Branch names follow the naming conventions
- All CI checks pass