Skip to content

technologiestiftung/semantic-release-config

Repository files navigation

All Contributors

shareable semantic-release-config

shareable semantic-release-config

Installation

npm install @technologiestiftung/semantic-release-config

Usage

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.

Development

Do your thing. Early stages.

Contributors

Thanks goes to these wonderful people (emoji key):

Fabian Morón Zirfas
Fabian Morón Zirfas

📖 💻 🚇
Lucas Vogel
Lucas Vogel

📖 🤔 👀 💻
Ingo Hinterding
Ingo Hinterding

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Content Licensing

Credits

Made by

A project by

Supported by

Related Projects