shareable semantic-release-config
npm install @technologiestiftung/semantic-release-config
Add file called release.config.js to your repo
module.exports = {
extends: '@technologiestiftung/semantic-release-config',
};
If you use a staging/production environment, where staging is the branch staging and production is deployed from main it is wise to add an additional package to do some backmerging. Install it using npm npm i -D @saithodev/semantic-release-backmerge
and add it as a plugin to your config, referencing the right branches.
module.exports = {
branches: [
{ name: "main" },
{ name: "staging", channel: "pre/rc", prerelease: "rc" }, // `prerelease` is built with the template `${name.replace(/^pre\\//g, "")}`
],
plugins: [
[
"@saithodev/semantic-release-backmerge",
{
backmergeBranches: [{from: "main", to: "staging"}],
backmergeStrategy: "merge",
},
],
],
}
Overwrite possible keys. See the semantic-release docs. If operating with protected branches, you can need to set the option persist-credentials: false
in your workflow file on the actions/checkout@v3
step.
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
See also this repos .github/workflows/test-and-release.yml how to use this in GitHub Actions.
Needs a Personal Access Token with repo
scope to be set as GH_TOKEN
in the repo secrets and a NPM_TOKEN
with write
scope.
Do your thing. Early stages.
Thanks goes to these wonderful people (emoji key):
Fabian Morón Zirfas 📖 💻 🚇 |
Lucas Vogel 📖 🤔 👀 💻 |
Ingo Hinterding 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Made by
|
A project by
|
Supported by
|