Skip to content

prepare release

prepare release #21

# this workflow prepare the project for the next release, it will update changelog and version based on the previous commits.
# after that it will open a pull request for this change
name: "prepare release"
on:
workflow_dispatch:
inputs:
options:
description: 'Additional release-it options'
required: false
default: ''
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
jobs:
prepare-release:
name: Prepare release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18
- name: Git config
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Npm config
run: npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
- run: npm ci
- name: Compute next version
run: |
next_version=$(npx release-it --release-version --no-git.requireCleanWorkingDir)
echo "NEXT_VERSION=${next_version}" >> $GITHUB_ENV
- name: Prepare the release changes
run: npm run release:prepare -- --ci --no-git.commit ${{ github.event.inputs.options }}
- name: Create Pull Request
uses: gr2m/[email protected]
with:
title: "chore: release v${{ env.NEXT_VERSION }}"
body: >
Creating changes for the next release.
branch: release/v${{ env.NEXT_VERSION }}
commit-message: "chore: release v${{ env.NEXT_VERSION }}"
reviewers: lampajr