From f2e2bd636728e59ba66d6807263b0e02b8f04652 Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 14:20:49 +0100 Subject: [PATCH 1/6] Remove 'test' messaging from PR and commit --- scripts/write-config-to-target-artefact.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index 004fd8d..cc90c62 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -38,11 +38,11 @@ GROUPING_NAME=$(gh pr view $TARGET_PR --json url | jq -r ".url" | cut -d/ -f 4-) cat << EOF > targeted-scala-steward.conf updates.allow = [{ groupId = "$GROUP_ID", artifactId = "$ARTIFACT_ID", version = "$VERSION" }] -commits.message = "[TEST - please ignore]: Update \${artifactName} from \${currentVersion} to \${nextVersion}" +commits.message = "Update \${artifactName} from \${currentVersion} to \${nextVersion}" pullRequests.draft = true pullRequests.grouping = [{ name = "$GROUPING_NAME", - title = "[TEST - please ignore]: Update $TARGET_ARTIFACT", + title = "Update $TARGET_ARTIFACT", filter = [{"group" = "*"}] }] updates.allowPreReleases = [{ groupId = "$GROUP_ID" }] From 2d0a599390096ba7cd9dab01daa928ac37fdc932 Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 14:25:23 +0100 Subject: [PATCH 2/6] Add shebang --- scripts/write-config-to-target-artefact.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index cc90c62..2ebaf88 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -1,3 +1,5 @@ +#! /bin/bash + VERSION=$(gh pr view $TARGET_PR -c --json comments -q "[.comments[] | select(.author.login == \"gu-scala-library-release\")][-1].body" | grep "\-PREVIEW") if [[ -z "$VERSION" ]]; then From db9df413c477dd7b17ee988843ec702b132c15ed Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 14:25:48 +0100 Subject: [PATCH 3/6] Add label to PR, and improve PR title --- scripts/write-config-to-target-artefact.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index 2ebaf88..7922b50 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -35,7 +35,6 @@ POM=$(curl https://repo1.maven.org/maven2/$(echo $ARTIFACT_PATH | cut -d" " -f1) GROUP_ID=$(echo $POM | xq -x /project/groupId) ARTIFACT_ID=$(echo $POM | xq -x /project/artifactId | rev | cut -d"_" -f2- | rev) -TARGET_ARTIFACT="$GROUP_ID:$ARTIFACT_ID:$VERSION" GROUPING_NAME=$(gh pr view $TARGET_PR --json url | jq -r ".url" | cut -d/ -f 4-) cat << EOF > targeted-scala-steward.conf @@ -44,9 +43,10 @@ commits.message = "Update \${artifactName} from \${currentVersion} to \${nextVer pullRequests.draft = true pullRequests.grouping = [{ name = "$GROUPING_NAME", - title = "Update $TARGET_ARTIFACT", + title = "Update \`$GROUP_ID:$ARTIFACT_ID\` to \`$VERSION\`", filter = [{"group" = "*"}] }] +pullRequests.customLabels = ["targeted-update"] updates.allowPreReleases = [{ groupId = "$GROUP_ID" }] EOF cat targeted-scala-steward.conf From bff77b32a7c318850e413c69ff78f878e7112f22 Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 14:32:06 +0100 Subject: [PATCH 4/6] Revert "Add shebang", because it seems to remove the gh alias on which this workflow's script depends This reverts commit 2d0a599390096ba7cd9dab01daa928ac37fdc932. --- scripts/write-config-to-target-artefact.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index 7922b50..eaeb5c8 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -1,5 +1,3 @@ -#! /bin/bash - VERSION=$(gh pr view $TARGET_PR -c --json comments -q "[.comments[] | select(.author.login == \"gu-scala-library-release\")][-1].body" | grep "\-PREVIEW") if [[ -z "$VERSION" ]]; then From a79ab7fc36bf0afb5d540a8af1e44d9cbc0eaa0d Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 14:42:02 +0100 Subject: [PATCH 5/6] Debug information to figure out 404 --- scripts/write-config-to-target-artefact.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index eaeb5c8..f582934 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -15,26 +15,33 @@ echo "Found version: $VERSION" set -e -PR_DETAILS=$(gh pr view $TARGET_PR --json number,headRepository) - TAG_URL=$(gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/guardian/redirect-resolver/git/ref/tags/v$VERSION \ -q ".object.url" | sed "s/https:\/\/api.github.com\///") +echo "Tag url: $TAG_URL" + ARTIFACT_PATH=$(gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ $TAG_URL \ -q ".message" | grep ".pom$" | head -n 1 | cut -d" " -f3) +echo "Artifact path: $ARTIFACT_PATH" + POM=$(curl https://repo1.maven.org/maven2/$(echo $ARTIFACT_PATH | cut -d" " -f1)) +echo "POM ... is large" + GROUP_ID=$(echo $POM | xq -x /project/groupId) ARTIFACT_ID=$(echo $POM | xq -x /project/artifactId | rev | cut -d"_" -f2- | rev) + GROUPING_NAME=$(gh pr view $TARGET_PR --json url | jq -r ".url" | cut -d/ -f 4-) +echo "Grouping name: $GROUPING_NAME" + cat << EOF > targeted-scala-steward.conf updates.allow = [{ groupId = "$GROUP_ID", artifactId = "$ARTIFACT_ID", version = "$VERSION" }] commits.message = "Update \${artifactName} from \${currentVersion} to \${nextVersion}" From 7e7b6b6bb4e537c8e5e9a9ee3e116a1cb0d8257d Mon Sep 17 00:00:00 2001 From: Jonathon Herbert Date: Fri, 19 Sep 2025 15:13:32 +0100 Subject: [PATCH 6/6] Derive repo ID from pull request slug, and use that to look up tag URL --- scripts/write-config-to-target-artefact.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/write-config-to-target-artefact.sh b/scripts/write-config-to-target-artefact.sh index f582934..297583d 100755 --- a/scripts/write-config-to-target-artefact.sh +++ b/scripts/write-config-to-target-artefact.sh @@ -1,3 +1,5 @@ +#! /bin/bash + VERSION=$(gh pr view $TARGET_PR -c --json comments -q "[.comments[] | select(.author.login == \"gu-scala-library-release\")][-1].body" | grep "\-PREVIEW") if [[ -z "$VERSION" ]]; then @@ -15,10 +17,13 @@ echo "Found version: $VERSION" set -e +PULL_REQUEST_SLUG=$(gh pr view "$TARGET_PR" --json url | jq -r ".url" | cut -d/ -f 4-) +REPO_ID=$(echo "$PULL_REQUEST_SLUG" | cut -d/ -f -2) + TAG_URL=$(gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ - /repos/guardian/redirect-resolver/git/ref/tags/v$VERSION \ + "/repos/$REPO_ID/git/ref/tags/v$VERSION" \ -q ".object.url" | sed "s/https:\/\/api.github.com\///") echo "Tag url: $TAG_URL" @@ -38,16 +43,15 @@ echo "POM ... is large" GROUP_ID=$(echo $POM | xq -x /project/groupId) ARTIFACT_ID=$(echo $POM | xq -x /project/artifactId | rev | cut -d"_" -f2- | rev) -GROUPING_NAME=$(gh pr view $TARGET_PR --json url | jq -r ".url" | cut -d/ -f 4-) -echo "Grouping name: $GROUPING_NAME" +echo "Grouping name: $PULL_REQUEST_SLUG" cat << EOF > targeted-scala-steward.conf updates.allow = [{ groupId = "$GROUP_ID", artifactId = "$ARTIFACT_ID", version = "$VERSION" }] commits.message = "Update \${artifactName} from \${currentVersion} to \${nextVersion}" pullRequests.draft = true pullRequests.grouping = [{ - name = "$GROUPING_NAME", + name = "$PULL_REQUEST_SLUG", title = "Update \`$GROUP_ID:$ARTIFACT_ID\` to \`$VERSION\`", filter = [{"group" = "*"}] }]