Skip to content

feat(realease-please): allow target branch specification #145

feat(realease-please): allow target branch specification

feat(realease-please): allow target branch specification #145

name: "Github-ReleasePlease"
on:
workflow_call:
inputs:
major_and_minor_tags:
required: false
type: string
release_type:
required: false
type: string
release_please_config_file:
required: false
type: string
default: release-please-config.json
release_please_manifest_file:
required: false
type: string
default: .release-please-manifest.json
target_branch:
required: false
type: string
default: main
outputs:
release_created:
description: "Whether a release was created"
value: ${{ jobs.github-releaseplease.outputs.release_created }}
release_number:
description: "The release number"
value: ${{ jobs.github-releaseplease.outputs.release_number }}
push:
branches:
- "main"
jobs:
github-releaseplease:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
outputs:
release_created: ${{ steps.release.outputs.releases_created }}
release_number: ${{ steps.release.outputs.tag_name }}
env:
major_and_minor_tags: ${{ inputs.major_and_minor_tags || true }}
steps:
- uses: actions/checkout@v4
- uses: googleapis/release-please-action@v4
id: release
with:
release-type: ${{ inputs.release_type }}
config-file: ${{ inputs.release_please_config_file }}
manifest-file: ${{ inputs.release_please_manifest_file }}
target-branch: ${{ inputs.target_branch }}
- name: tag major and minor versions
if: ${{ steps.release.outputs.releases_created == 'true' && env.major_and_minor_tags == 'true' }}
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/googleapis/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 }}