| name | http-client-python-bump-and-release |
| description | Create a PR to bump TypeSpec/Azure Tools dependencies, update peer dependencies, or release a new version of the http-client-python package. |
HTTP Client Python Bump and Release
Create a PR to bump dependencies and release a new version of the http-client-python package.
Note: {REPO} refers to the root folder of the microsoft/typespec repository.
Prerequisites
Before starting, verify that npm-check-updates is available:
npx npm-check-updates --version
If the command fails or prompts for installation, install it globally:
npm install -g npm-check-updates
Workflow
-
Navigate to the package directory:
cd {REPO}/packages/http-client-python
-
Reset and sync with main:
git reset HEAD && git checkout . && git checkout origin/main && git pull origin main
-
Create release branch (use current date in MM-DD format):
git checkout -b publish/python-release-{MM-DD}
-
Update dependencies:
npx npm-check-updates -u --filter @typespec/*,@azure-tools/* --packageFile package.json
-
Update peerDependencies in package.json:
- If format is
">=0.a.b <1.0.0": Update only the 0.a.b portion, keep the range format unchanged
- If format is
"^1.a.b": Update to the latest version
-
Verify devDependencies versions for specs:
- Check
@typespec/http-specs and @azure-tools/azure-http-specs
- If the original version in
package.json is newer than the updated value, keep the original version
- Dev versions are typically in the form
x.y.z-alpha.N-dev.M (e.g., 0.1.0-alpha.37-dev.3).
Example:
- Original:
@typespec/http-specs: 0.1.0-alpha.12-dev.5, updated by step 4 to 0.1.0-alpha.11 → keep 0.1.0-alpha.12-dev.5.
- Original:
@typespec/http-specs: 0.1.0-alpha.12-dev.5, updated by step 4 to 0.1.0-alpha.12 → keep 0.1.0-alpha.12 (step 4 works as expected).
- Original:
@azure-tools/azure-http-specs: 0.1.0-alpha.12-dev.2, updated to 0.1.0-alpha.11 → keep 0.1.0-alpha.12-dev.2.
- Original:
@azure-tools/azure-http-specs: 0.1.0-alpha.12-dev.2, updated to 0.1.0-alpha.12 → keep 0.1.0-alpha.12 (step 4 works as expected).
-
Run version change script:
npm run change:version
-
Build and commit:
npm install && npm run build && git add -u && git commit -m "bump version"
-
Push and create PR:
cd {REPO}
git push origin HEAD
-
Create PR with title [python] release new version and no description.