ci: use modified gha-mergify-merge-queue-labels-copier Action

The original Mergifyio/gha-mergify-merge-queue-labels-copier@main
contains `startsWith()` that has the arguments reversed. This prevents
the action from working as intended.

See-also: https://docs.github.com/en/actions/learn-github-actions/expressions
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
Niels de Vos 2023-05-15 16:11:28 +02:00 committed by mergify[bot]
parent 52ebfa6b97
commit b371337287
2 changed files with 36 additions and 4 deletions

View File

@ -1,4 +1,5 @@
---
# yamllint disable rule:line-length
name: Mergify merge-queue labels copier
# yamllint disable-line rule:truthy
on:
@ -11,7 +12,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Copying labels
uses: Mergifyio/gha-mergify-merge-queue-labels-copier@main
with:
# FIXME: empty labels should copy all, that does not work?
labels: ci/skip/e2e,ci/skip/multi-arch-build
# FIXME: using local instead of Mergifyio/gha-mergify-merge-queue-labels-copier@main
uses: ./actions/gha-mergify-merge-queue-labels-copier.yaml

View File

@ -0,0 +1,33 @@
---
# yamllint disable rule:line-length
#
# Fork of Mergifyio/gha-mergify-merge-queue-labels-copier@main with modified
# startsWith() check.
#
# See: https://docs.github.com/en/actions/learn-github-actions/expressions#startswith
#
name: 'mergify-merge-queue-labels-copier'
description: 'Mergify: copies pull request labels to merge queue draft PRs'
inputs:
labels:
description: 'Comma separated list of labels to copy (all if empty)'
required: true
default: ''
runs:
using: "composite"
steps:
- name: Copying labels
shell: bash
if: startsWith(github.head_ref, 'mergify/merge queue/')
env:
REPOSITORY_URL: ${{ github.server_url }}/${{ github.repository }}
MERGE_QUEUE_PR_URL: ${{ github.server_url }}/${{ github.repository }}/pull/${{ github.event.pull_request.number }}
GH_TOKEN: ${{ github.token }}
run: |
gh pr view --json body -q ".body" $MERGE_QUEUE_PR_URL | sed -n -e '/```yaml/,/```/p' | sed -e '1d;$d' | yq '.pull_requests[]|.number' | while read pr_number ; do
gh pr view --json labels -q '.labels[]|.name' ${REPOSITORY_URL}/pull/$pr_number | while read label ; do
if [[ -z "$labels" ]] || [[ ",$labels," =~ ",$label," ]]; then
gh pr edit --add-label "$label" $MERGE_QUEUE_PR_URL
if
done
done