on: push: branches: - main workflow_dispatch: name: release-please env: ACTION_NAME: release-please-action jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - name: install run: npm ci - name: build run: npm run build - name: commit run: |- set -e # get current commit hash CURRENT_HASH=$(git rev-parse HEAD) # get last commit hash of last build dist LAST_BUILD_HASH=$(git log --author=google-github-actions-bot -1 --pretty=format:"%H") DIFF="" # build and commit dist if diff git config --global user.name "actions-bot" git config user.email 'github-actions-bot@google.com' git add dist/ git diff-index --quiet HEAD || git commit -m "chore: build dist ${ACTION_NAME}" # if last commit hash of last build dist was found, get logs of commits in btw for PR body if [ -z "$LAST_BUILD_HASH" ] then echo "Unable to find last commit by bot, skipping diff gen" else DIFF=$(git log ${LAST_BUILD_HASH}...${CURRENT_HASH} --oneline) echo $DIFF fi # set env vars echo "CURRENT_HASH=${CURRENT_HASH}" >> $GITHUB_ENV echo "LAST_BUILD_HASH=${LAST_BUILD_HASH}" >> $GITHUB_ENV echo 'DIFF<> $GITHUB_ENV echo "${DIFF}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - name: Create PR with dist uses: peter-evans/create-pull-request@v5 with: token: ${{ secrets.ACTIONS_BOT_TOKEN }} commit-message: Build dist author: "actions-bot " title: "chore: build dist" body: | Build dist PR ${{env.DIFF}} labels: automated pr branch: create-pull-request/build-dist delete-branch: true push-to-fork: google-github-actions-bot/${{env.ACTION_NAME}} release-please-release: runs-on: ubuntu-latest needs: [build] steps: - uses: google-github-actions/release-please-action@main id: release with: token: ${{ secrets.GITHUB_TOKEN }} release-type: node skip-github-pull-request: true - uses: actions/checkout@v4 - name: tag major and patch versions run: | git config user.name github-actions[bot] git config user.email 41898282+github-actions[bot]@users.noreply.github.com git remote add gh-token "https://${{ secrets.GITHUB_TOKEN}}@github.com/google-github-actions/release-please-action.git" git tag -d v${{ steps.release.outputs.major }} || true git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git push origin :v${{ steps.release.outputs.major }} || true git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}" git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" git push origin v${{ steps.release.outputs.major }} git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} if: ${{ steps.release.outputs.release_created }} release-please-pr: runs-on: ubuntu-latest needs: - build - release-please-release steps: - id: release-pr uses: google-github-actions/release-please-action@main with: token: ${{ secrets.ACTIONS_BOT_TOKEN }} release-type: node fork: true skip-github-release: true