diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml new file mode 100644 index 0000000..7e927fe --- /dev/null +++ b/.forgejo/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release +on: + push: + branches: + - "main" + +env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + +permissions: + contents: read + +jobs: + release: + runs-on: ubuntu-latest + name: Release + permissions: + contents: write + issues: write + pull-requests: write + id-token: write + steps: + - name: Create Release + uses: https://git.kjan.de/actions/semantic-release@main + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} diff --git a/release.config.cjs b/release.config.cjs new file mode 100644 index 0000000..dffea8d --- /dev/null +++ b/release.config.cjs @@ -0,0 +1,64 @@ +module.exports = { + branches: ["main"], + plugins: [ + [ + "@semantic-release/commit-analyzer", + { + preset: "angular", + releaseRules: [ + { type: "feat", release: "minor" }, + { type: "fix", release: "patch" }, + { type: "perf", release: "patch" }, + { type: "docs", release: "patch" }, + { type: "style", release: "patch" }, + { type: "refactor", release: "patch" }, + { type: "test", release: "patch" }, + { type: "chore", release: "patch" }, + { type: "ci", release: "patch" }, + { type: "build", release: "patch" }, + { type: "revert", release: "patch" }, + ], + }, + ], + [ + "@semantic-release/release-notes-generator", + { + preset: "conventionalcommits", + presetConfig: { + types: [ + { type: "feat", section: "Features", hidden: false }, + { type: "fix", section: "Bug Fixes", hidden: false }, + { + type: "perf", + section: "Performance Improvements", + hidden: false, + }, + { type: "docs", section: "Documentation", hidden: false }, + { type: "style", section: "Code Style", hidden: false }, + { type: "refactor", section: "Code Refactoring", hidden: false }, + { type: "test", section: "Tests", hidden: false }, + { type: "chore", section: "Chores", hidden: false }, + { type: "ci", section: "Continuous Integration", hidden: false }, + { type: "build", section: "Build System", hidden: false }, + { type: "revert", section: "Reverts", hidden: false }, + ], + }, + parserOpts: { + noteKeywords: ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"], + }, + }, + ], + [ + "@semantic-release/changelog", + { + changelogFile: "CHANGELOG.md", + }, + ], + [ + "@saithodev/semantic-release-gitea", + { + giteaUrl: "https://git.kjan.de", + }, + ], + ], +};