bump_workspaces
A tool for releasing workspaces with Deno project.
This tool automatically detects necessary version updates for the workspaces and creates a PR with necessary version changes.
Set up the GitHub Actions yaml like the below, and trigger the workflow manually:
name: version_bump
on: workflow_dispatch
jobs:
build:
name: version bump
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Deno
uses: denoland/setup-deno@v1
- name: Run workspaces version bump
run: |
git fetch --unshallow origin
deno run -A https://deno.land/x/bump_workspaces@v0.1.4/cli.ts
env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}Example pull request: https://github.com/kt3k/deno_std/pull/34
How it works
TBD
Commit titles
This tool uses the commit titles as the input for detecting which modules and versions to update. The commit titles need to follow the following format:
<tag>(<scopes,...>): <commit message>Some examples are:
fix(foo): fix a bug
fix(baz,qux): fix a bug
feat(bar): add a new feature
chore(foo): clean up
chore(bar): clean up
BREAKING(quux): some breaking changeThis example results in the following version updates:
| module | version |
|---|---|
| foo | patch |
| bar | minor |
| baz | patch |
| qux | patch |
| quux | major |
The tool automatically detects following commit tags:
- BREAKING
- feat
- fix
- perf
- docs
- deprecation
- refactor
- test
- style
- chore
If a module has BREAKING commits, then major version will be updated. If a
module has feat commits, minor version will be updated. Othrewise patch
version will be update.
| tag | version |
|---|---|
| BREAKING | major |
| feat | minor |
| fix | patch |
| perf | patch |
| docs | patch |
| deprecation | patch |
| refactor | patch |
| test | patch |
| style | patch |
| chore | patch |
License
MIT