From 267bdec4053d4d3828cf12306e57e0a93f660893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Falc=C3=B3n?= Date: Fri, 24 Apr 2026 14:39:26 +0100 Subject: [PATCH] ci: add manual release workflow (#326) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a manually-triggered workflow to cut releases from the GitHub Actions UI. ## What New workflow: \`.github/workflows/release.yml\` - Trigger: \`workflow_dispatch\` with a \`bump\` input (\`patch\` / \`minor\` / \`major\`, default \`patch\`) - Runs \`npx release-it --ci\` → reuses existing \`.release-it.json\`: - angular conventional-changelog preset - updates \`CHANGELOG.md\` - commits \`chore: release vX.Y.Z\` - tags \`vX.Y.Z\` - creates GitHub release with grouped Features / Bug Fixes notes ## Auth Uses the default \`GITHUB_TOKEN\` (no PAT). Requires: - \`permissions: contents: write\` (push commit/tag, create release) - Repo setting: Settings → Actions → General → Workflow permissions → **Read and write permissions** If \`main\` has branch protection blocking direct pushes, the bot token must be allowed to bypass, otherwise the push step will fail and a PAT will be needed instead. ## How to run Actions tab → Release → Run workflow → pick bump type. --- .github/workflows/release.yml | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..1f360d0e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,46 @@ +name: Release + +on: + workflow_dispatch: + inputs: + bump: + description: 'Version bump type' + required: true + type: choice + default: patch + options: + - patch + - minor + - major + +permissions: + contents: write + issues: write + pull-requests: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.RELEASE_TOKEN }} + + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Configure git + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Run release-it + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + run: npx release-it ${{ inputs.bump }} --ci