# semantic-release configuration # Runs on main branch pushes to auto-determine version from conventional commits. # Creates a git tag + GitHub Release draft; a separate workflow builds binaries. branches: - main plugins: # Analyze commits using conventional-commits preset. - - "@semantic-release/commit-analyzer" - preset: conventionalcommits releaseRules: - type: feat release: minor - type: fix release: patch - type: perf release: patch - type: refactor release: patch - type: revert release: patch - type: docs release: false - type: style release: false - type: chore release: false - type: ci release: false - type: test release: false - type: build release: false # Generate release notes from conventional commits. - - "@semantic-release/release-notes-generator" - preset: conventionalcommits presetConfig: types: - type: feat section: Features - type: fix section: Bug Fixes - type: perf section: Performance - type: refactor section: Refactoring - type: revert section: Reverts - type: docs section: Documentation hidden: true - type: chore section: Miscellaneous hidden: true - type: ci section: CI/CD hidden: true - type: test section: Tests hidden: true - type: build section: Build hidden: true # Write CHANGELOG.md. - - "@semantic-release/changelog" - changelogFile: CHANGELOG.md # Commit the changelog back to the repo. - - "@semantic-release/git" - assets: - CHANGELOG.md message: "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" # Create the GitHub Release (draft, so the build workflow can attach binaries). - - "@semantic-release/github" - draft: true successComment: false failComment: false releasedLabels: false