name: Release
on:
workflow_call:
inputs:
config-file:
description: Release-please config file
required: true
type: string
manifest-file:
description: Release-please manifest file
required: true
type: string
concurrency:
group: release
cancel-in-progress: false
permissions:
contents: write
pull-requests: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Create Github App token
uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ secrets.RELEASE_BOT_APP_ID }}
private-key: ${{ secrets.RELEASE_BOT_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
- name: Release please
id: release
uses: google-github-actions/release-please-action@v4
with:
config-file: ${{ inputs.config-file }}
manifest-file: ${{ inputs.manifest-file }}
token: ${{ steps.app-token.outputs.token }}
- name: Checkout code
if: steps.release.outputs.prs_created == 'true'
uses: actions/checkout@v4
- name: Automerge pre-release PR
if: steps.release.outputs.prs_created == 'true'
run: |
for pr_number in ${{ join(fromJSON(steps.release.outputs.prs).*.number, ' ') }}
do
gh pr merge "${pr_number}" --admin --squash --delete-branch
done
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}