chore(deps): lock file maintenance #399
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: release-please | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: read # needed for 'gh pr edit' https://github.com/cli/cli/issues/6274 | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
outputs: | |
releases_created: ${{ steps.release.outputs.releases_created }} | |
steps: | |
- uses: googleapis/release-please-action@v4 | |
id: release | |
with: | |
token: ${{ secrets.RELEASE_PLEASE_GITHUB_TOKEN }} | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
if: steps.release.outputs.releases_created == 'true' | |
- name: Setup project | |
uses: ./.github/actions/setup-project | |
if: steps.release.outputs.releases_created == 'true' | |
- name: Publish to npm | |
run: pnpm publish --no-git-checks --filter "@fuf-stack/*" | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | |
if: steps.release.outputs.releases_created == 'true' | |
# update other conflicting prs after package merge | |
# see: https://github.com/googleapis/release-please/issues/1870#issuecomment-1748390833 | |
check-conflicting-prs: | |
runs-on: ubuntu-latest | |
needs: release-please | |
if: needs.release-please.outputs.releases_created == 'true' | |
outputs: | |
need_rebase: ${{ steps.check-pending-prs.outputs.need_rebase }} | |
steps: | |
- name: Get pending PRs | |
id: check-pending-prs | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
REPO: ${{ github.repository }} | |
run: | | |
set -euo pipefail | |
pending_prs=$(gh pr list --repo "$REPO" --label "autorelease: pending" --state open --json number --jq '.[].number') | |
need_rebase="" | |
if [[ -n "$pending_prs" ]]; then | |
for pr_num in $pending_prs; do | |
echo "Checking pr: $pr_num" | |
mergeable=$(gh pr view --repo "$REPO" "$pr_num" --json mergeable --jq '.mergeable') | |
echo "mergeable status: $mergeable" | |
if [[ "$mergeable" != "MERGEABLE" ]]; then | |
echo "pr: $pr_num is not MERGEABLE." | |
echo "removing 'autorelease: pending' label from pr: $pr_num" | |
gh pr edit --repo "$REPO" "$pr_num" --remove-label "autorelease: pending" | |
need_rebase=true | |
fi | |
done | |
else | |
echo "No pending PRs found." | |
exit 0 | |
fi | |
if [[ -n "$need_rebase" ]]; then | |
echo "not MERGEABLE status PRs found." | |
echo "need_rebase=$need_rebase" | |
echo "need_rebase=$need_rebase" >> "$GITHUB_OUTPUT" | |
else | |
echo "All pending PRs are MERGEABLE." | |
fi | |
release-please-rebase: | |
needs: check-conflicting-prs | |
runs-on: ubuntu-latest | |
if: needs.check-conflicting-prs.outputs.need_rebase == 'true' | |
steps: | |
- uses: googleapis/release-please-action@v4 |