From 0ab28c74bb4beb1e4e7343d33b308a88a6939007 Mon Sep 17 00:00:00 2001 From: Diogo Matsubara Date: Fri, 17 Jan 2025 12:50:59 +0100 Subject: [PATCH] feat: add workflow to merge release branch (#256) Re-usable workflow to be used as a post-release step. --- .github/workflows/merge-release-branch.yml | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 .github/workflows/merge-release-branch.yml diff --git a/.github/workflows/merge-release-branch.yml b/.github/workflows/merge-release-branch.yml new file mode 100644 index 0000000..1caca30 --- /dev/null +++ b/.github/workflows/merge-release-branch.yml @@ -0,0 +1,74 @@ + +name: Merge release branch into main + +on: + workflow_call: + inputs: + version: + type: string + description: The release branch version to merge into main + required: true + repo: + type: string + description: The repository to create the PR (org/repo format) + required: true + + workflow_dispatch: + inputs: + version: + type: string + description: The release branch version to merge into main + required: true + repo: + type: string + description: The repository to create the PR (org/repo format) + required: true + +defaults: + run: + shell: bash + +jobs: + merge-release-branch: + name: Submit PR to merge release branch into main + runs-on: ubuntu-latest + steps: + - name: Checkout ${{ inputs.repo }} + uses: actions/checkout@v4 + with: + repository: ${{ inputs.repo }} + ref: release/${{ inputs.version }} + submodules: true + token: ${{ secrets.BOT_TOKEN_WORKFLOW }} + + - name: Create PR + id: cpr + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.BOT_TOKEN_WORKFLOW }} + commit-message: "chore: merge release/${{ inputs.version }} into main" + committer: eclipse-zenoh-bot + author: eclipse-zenoh-bot + base: main + branch: release/${{ inputs.version }} + delete-branch: false + title: 'chore: Merge release/${{ inputs.version }} into main' + body: | + - Merge release/${{ inputs.version }} into main + - Open new development line + labels: internal + + - name: Enable auto merge for the pull request + if: ${{ steps.cpr.outputs.pull-request-operation == 'created' }} + run: > + gh pr merge "${{ steps.cpr.outputs.pull-request-number }}" + --subject "chore: Merge release/${{ inputs.version }} into main (#${{ steps.cpr.outputs.pull-request-number }})" + --repo "${{ inputs.repo }}" + --auto + env: + GH_TOKEN: ${{ secrets.BOT_TOKEN_WORKFLOW }} + + - name: Add the PR as annotation to workflow run + if: ${{ steps.cpr.outputs.pull-request-operation == 'created' }} + run: > + echo "::notice:: Created PR: https://github.com/${{ inputs.repo }}/pull/${{ steps.cpr.outputs.pull-request-number }}" \ No newline at end of file