This repository has been archived by the owner on Aug 15, 2024. It is now read-only.
build: push to main repo (#5) #3
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
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<<EOF' >> $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 <github-actions-bot@google.com>" | |
title: "chore: build dist" | |
body: | | |
Build dist PR | |
${{env.DIFF}} | |
labels: automated pr | |
branch: create-pull-request/build-dist | |
delete-branch: true | |
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 |