From 3f9d4e218c61387e3f333377aeffc1d2b43b67c8 Mon Sep 17 00:00:00 2001
From: Patrick Weyck
Date: Tue, 30 Sep 2025 08:40:14 +0200
Subject: [PATCH] fix: BASE_REF detection in merge queue
---
shopware-version/shopware-version.bash | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/shopware-version/shopware-version.bash b/shopware-version/shopware-version.bash
index 21572d8..670ed7a 100755
--- a/shopware-version/shopware-version.bash
+++ b/shopware-version/shopware-version.bash
@@ -12,42 +12,44 @@ set -e
set pipefail
get_ref() {
- local ref
-
- PR_NR=$(echo "${REF}" | sed -E -n "s|^refs/heads/gh-readonly-queue/[^/]+/pr-([0-9]+)-.*$|\1|p")
+ PR_NR=$(echo "${1}" | sed -E -n "s|^(refs/heads/)?gh-readonly-queue/[^/]+/pr-([0-9]+)-.*$|\2|p")
if [[ -n "${PR_NR}" ]]; then
- echo "refs/heads/$(gh pr view --repo "${CURRENT_REPO}" "${PR_NR}" --jq '.headRefName' --json headRefName)"
+ echo "Merge queue detected. Using PR_NR: ${PR_NR} to fetch REF"
+ REF="refs/heads/$(gh pr view --repo "${CURRENT_REPO}" "${PR_NR}" --jq '.headRefName' --json headRefName)"
return
fi
#remove whitespace from HEAD_REF with bash substitution
HEAD_REF=${HEAD_REF// /}
if [[ -n "${HEAD_REF}" ]]; then
- echo "refs/heads/${HEAD_REF#"refs/heads/"}"
+ echo 'Using HEAD_REF as REF'
+ REF="refs/heads/${HEAD_REF#"refs/heads/"}"
else
#remove whitespace from REF with bash substitution
REF=${REF// /}
- echo "refs/heads/${REF#"refs/heads/"}"
+ REF="refs/heads/${REF#"refs/heads/"}"
fi
}
get_base_ref() {
- PR_NR=$(echo "${1}" | sed -E -n "s|^refs/heads/gh-readonly-queue/[^/]+/pr-([0-9]+)-.*$|\1|p")
+ PR_NR=$(echo "${1}" | sed -E -n "s|^(refs/heads/)?gh-readonly-queue/[^/]+/pr-([0-9]+)-.*$|\2|p")
if [[ -n "${PR_NR}" ]]; then
- echo "$(gh pr view --repo "${CURRENT_REPO}" "${PR_NR}" --jq '.baseRefName' --json baseRefName)"
+ echo "Merge queue detected. Using PR_NR: ${PR_NR} to fetch BASE_REF"
+ BASE_REF="$(gh pr view --repo "${CURRENT_REPO}" "${PR_NR}" --jq '.baseRefName' --json baseRefName)"
return
fi
#remove whitespace from BASE_REF with bash substitution
BASE_REF=${BASE_REF// /}
if [[ -n "${BASE_REF}" ]]; then
- echo "refs/heads/${BASE_REF#"refs/heads/"}"
+ BASE_REF="refs/heads/${BASE_REF#"refs/heads/"}"
fi
}
-REF="$(get_ref)"
+ORIGINAL_REF=${REF}
+get_ref "${ORIGINAL_REF}"
echo "ref: ${REF}"
-BASE_REF="$(get_base_ref "${REF}")"
+get_base_ref "${ORIGINAL_REF}"
echo "base ref: ${BASE_REF}"
# if REPO does not start with https add https://github.com/