63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
name: Create release PR
|
|
|
|
run-name: Create release PR for new ${{ github.event.inputs.version }} version
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
required: true
|
|
type: choice
|
|
description: "What type of release is this"
|
|
options:
|
|
- "major"
|
|
- "minor"
|
|
- "patch"
|
|
|
|
jobs:
|
|
create-release-pr:
|
|
name: Create release PR
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24.x
|
|
|
|
- name: Bump version and push
|
|
run: |
|
|
git config --global user.email "github-actions@github.com"
|
|
git config --global user.name "GitHub Actions"
|
|
|
|
NEW_VERSION=$(./script/workflows/increment-version.sh ${{ inputs.version }})
|
|
|
|
git checkout -b release/$NEW_VERSION
|
|
|
|
npx lerna version $NEW_VERSION --yes --no-push --no-git-tag-version --force-publish
|
|
|
|
git add **/package.json package-lock.json lerna.json
|
|
git commit -m "Release extension version $NEW_VERSION"
|
|
|
|
git push --set-upstream origin release/$NEW_VERSION
|
|
|
|
echo "new_version=$NEW_VERSION" >> $GITHUB_ENV
|
|
|
|
- name: Create PR
|
|
run: |
|
|
LAST_PR=$(gh pr list --repo ${{ github.repository }} --limit 1 --state merged --search "Release version" --json number | jq -r '.[0].number')
|
|
./script/workflows/generate-release-notes.sh $LAST_PR ${{ env.new_version }}
|
|
gh pr create \
|
|
--title "Release version ${{ env.new_version }}" \
|
|
--body-file releasenotes.md \
|
|
--base main \
|
|
--head release/${{ env.new_version }}
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|