From e2407d879b4950af3e780a7fede74fe4e00fc702 Mon Sep 17 00:00:00 2001 From: Lucas Date: Sat, 25 Jan 2025 13:06:50 +0100 Subject: [PATCH] chore(ci): Add semantic-release workflow --- .github/workflows/semantic-release.yaml | 13 ++++++++++++ README.md | 28 ++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/semantic-release.yaml diff --git a/.github/workflows/semantic-release.yaml b/.github/workflows/semantic-release.yaml new file mode 100644 index 0000000..0db3ce0 --- /dev/null +++ b/.github/workflows/semantic-release.yaml @@ -0,0 +1,13 @@ +name: Semantic Release + +on: + push: + branches: + - main + - release/* + +jobs: + semantic-release: + uses: radiorabe/actions/.github/workflows/semantic-release.yaml@v0.37.0 + secrets: + RABE_ITREAKTION_GITHUB_TOKEN: ${{ secrets.RABE_ITREAKTION_GITHUB_TOKEN }} diff --git a/README.md b/README.md index bdd58bf..eb2b952 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ Next: docker-compose up -d next - # Maintenance Mode In the .env file set NEXT_PUBLIC_MAINTENANCE_MODE true @@ -27,3 +26,30 @@ Next: redirect data.rabe.ch auf rabe.ch disable healthcheck for next instance + +# Release Management + +The CI/CD setup uses semantic commit messages following the [conventional commits standard](https://www.conventionalcommits.org/en/v1.0.0/). +The workflow is based on the [RaBe shared actions](https://radiorabe.github.io/actions/) +and uses [go-semantic-commit](https://go-semantic-release.xyz/) +to create new releases. + +The commit message should be structured as follows: + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +The commit contains the following structural elements, to communicate intent to the consumers of your library: + +1. **fix:** a commit of the type `fix` patches gets released with a PATCH version bump +1. **feat:** a commit of the type `feat` gets released as a MINOR version bump +1. **BREAKING CHANGE:** a commit that has a footer `BREAKING CHANGE:` gets released as a MAJOR version bump +1. types other than `fix:` and `feat:` are allowed and don't trigger a release + +If a commit does not contain a conventional commit style message you can fix +it during the squash and merge operation on the PR.