# 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/create-or-update-pull-request-action@v1.x 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