Skip to content

Commit

Permalink
build: automate release flow
Browse files Browse the repository at this point in the history
Adds a GitHub Action to perform the following:

- Kick off whenever a new commit is made on the default (main) branch
- Bump package version in `package.json`
  - Version bump follows semantic versioning
  - Avoid automatically publishing new major versions to prevent unintended releases
- Publish updated package to registry (npmjs.com)
- Add a new git tag
- Generate release notes and add them to the changelog
- Publish a new release to GitHub, includes change notes in release body
  • Loading branch information
sherwinski committed Nov 12, 2024
1 parent e419c4d commit c1cbc5a
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 0 deletions.
Empty file added .github/workflows/release.yml
Empty file.
136 changes: 136 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
{
"branches": [
"main"
],
"tagFormat": "${version}",
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"releaseRules": [
{
"breaking": true,
"release": "minor"
},
{
"type": "feat",
"release": "minor"
},
{
"type": "fix",
"release": "patch"
},
{
"type": "docs",
"release": "patch"
},
{
"type": "perf",
"release": "patch"
},
{
"type": "refactor",
"release": "patch"
},
{
"type": "style",
"release": "patch"
},
{
"type": "test",
"release": "patch"
},
{
"type": "build",
"release": "patch"
},
{
"type": "ci",
"release": "patch"
},
{
"type": "chore",
"scope": "deps",
"release": "patch"
}
]
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits",
"writerOpts": {
"types": [
{
"type": "feat",
"section": "Features"
},
{
"type": "fix",
"section": "Bug Fixes"
},
{
"type": "docs",
"section": "Documentation",
"hidden": false
},
{
"type": "deps",
"section": "Dependency Updates",
"hidden": false
},
{
"type": "chore",
"hidden": true
},
{
"type": "style",
"hidden": true
},
{
"type": "refactor",
"hidden": true
},
{
"type": "perf",
"hidden": true
},
{
"type": "test",
"hidden": true
}
]
}
}
],
[
"@semantic-release/changelog",
{
"changelogFile": "CHANGELOG.md",
"changelogTitle": "# Changelog"
}
],
[
"@semantic-release/npm",
{
"pkgRoot": "."
}
],
[
"@semantic-release/git",
{
"assets": [
"bundles/**",
"esm2015/**",
"fesm2015/**",
"lib/**",
"package.json",
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes} [skip ci]"
}
],
"@semantic-release/github"
]
}

0 comments on commit c1cbc5a

Please sign in to comment.