Do Release #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Do Release | |
on: | |
workflow_dispatch: | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "21.x" | |
cache: 'yarn' | |
cache-dependency-path: '**/yarn.lock' | |
registry-url: "https://registry.npmjs.org" | |
- name: Git Config | |
run: | | |
git config user.email "[email protected]" | |
git config user.name "GitHub Actions" | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Run lint, type checks and tests | |
run: yarn verify | |
- name: Yarn build | |
run: yarn build | |
- name: Yarn publish | |
run: yarn npm publish | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | |
YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | |
- name: Git tag | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
CURRENT_PROJECT_VERSION=$(node -e "console.log(require('./package.json').version)") | |
git tag "$CURRENT_PROJECT_VERSION" | |
git push origin "$CURRENT_PROJECT_VERSION" | |
gh release create $CURRENT_PROJECT_VERSION | |
- name: Move to next Version | |
run: npm version --no-git-tag-version "$(node -e "console.log(require('semver').inc(require('./package.json').version, 'minor'))")" | |
- name: Create Branch and PR for next Version preparation | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
CURRENT_PROJECT_VERSION=$(node -e "console.log(require('./package.json').version)") | |
BRANCH_NAME="move-to-$CURRENT_PROJECT_VERSION" | |
git checkout -b "$BRANCH_NAME" | |
git commit -a -m "[skip ci] change version to new snapshot $CURRENT_PROJECT_VERSION" | |
git push origin "$BRANCH_NAME" | |
gh pr create -B main -H $BRANCH_NAME --title "Update Version to $CURRENT_PROJECT_VERSION" --body 'Created by "Do Release" workflow' | |
echo "Please, accept the PR: Update Version to $CURRENT_PROJECT_VERSION" | |