From 7dc849688fa9189e360c5fb491b2e8cd630a57d1 Mon Sep 17 00:00:00 2001 From: jank Date: Thu, 19 Jun 2025 09:59:53 +0200 Subject: [PATCH] feat: Add releases --- .gitea/workflows/release.yml | 27 +++++++++++++++ package.json | 5 +-- release.config.cjs | 66 ++++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 .gitea/workflows/release.yml create mode 100644 release.config.cjs diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..7e927fe --- /dev/null +++ b/.gitea/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/package.json b/package.json index 39b0257..920f54d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { - "name": "project-cli", + "name": "proj-cli", + "version": "0.0.1", "module": "index.ts", "type": "module", "devDependencies": { @@ -15,4 +16,4 @@ "commander": "^14.0.0", "inquirer": "^12.6.3" } -} \ No newline at end of file +} diff --git a/release.config.cjs b/release.config.cjs new file mode 100644 index 0000000..0bcf30a --- /dev/null +++ b/release.config.cjs @@ -0,0 +1,66 @@ +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", + }, + ], + "@semantic-release/npm", + "@semantic-release/git", + ], +};