diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 97dc283..dc5d3aa 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -11,13 +11,20 @@ jobs: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + - name: setup node + uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 20 - name: semantic release shell: bash run: | + npm install \ + @semantic-release/gitea \ + conventional-changelog-conventionalcommits \ + @semantic-release/git \ + @semantic-release/changelog + npx semantic-release # TODO extract dedicated action diff --git a/.releaserc.js b/.releaserc.js new file mode 100644 index 0000000..5c20812 --- /dev/null +++ b/.releaserc.js @@ -0,0 +1,46 @@ +module.exports = { + "branches": [ + "main" + ], + "plugins": [ + "@semantic-release/commit-analyzer", + [ + "@semantic-release/release-notes-generator", + { + "linkCompare": true, + "linkReferences": true, + "writerOpts": { + "groupBy": "type", + "commitGroupsSort": "title", + "commitsSort": "header" + } + } + ], + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md" + } + ], + [ + "@semantic-release/git", + { + "message": "chore(release): ${nextRelease.version}", + "assets": [ + "CHANGELOG.md" + ] + } + ], + [ + "@semantic-release/gitea", + {} + ] + ], + "preset": "conventionalcommits", + "parserOpts": { + "issuePrefixes": [ + "#" + ], + "issueUrlFormat": `${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/issues/{{id}}` + } +}