From c700e91c21d2182e3be71b7791eea19c9138300d Mon Sep 17 00:00:00 2001 From: jsonbailey Date: Fri, 21 Nov 2025 12:00:52 -0600 Subject: [PATCH 1/3] chore: Fix major version tagging using shell --- .github/workflows/release-please.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index d42adb5..9b8397f 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -27,25 +27,32 @@ jobs: uses: actions/checkout@v4 - name: Update major version tags for components - if: ${{ steps.release.outputs.releases_created == 'true'}} + if: ${{ steps.release.outputs.releases_created == 'true'}} + env: + RELEASE_OUTPUTS: ${{ toJson(steps.release.outputs) }} run: | git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - # Get the paths that had releases created - PATHS_RELEASED='${{ steps.release.outputs.paths_released }}' - # Parse the JSON array of released paths - echo "$PATHS_RELEASED" | jq -r '.[]' | while read -r path; do - # Get the tag name for this component - tag_name="${{ steps.release.outputs['${path}--tag_name'] }}" + echo "$RELEASE_OUTPUTS" | jq -r '.paths_released[]' | while read -r path; do + # Use jq to dynamically look up values using the path variable + tag_name=$(echo "$RELEASE_OUTPUTS" | jq -r ".[\"${path}--tag_name\"]") + major_version=$(echo "$RELEASE_OUTPUTS" | jq -r ".[\"${path}--major\"]") + + # Fail if tag_name or major_version are missing (they should always be set for released paths) + if [ "$tag_name" = "null" ] || [ -z "$tag_name" ]; then + echo "Error: Missing tag_name for path: $path" + exit 1 + fi + if [ "$major_version" = "null" ] || [ -z "$major_version" ]; then + echo "Error: Missing major_version for path: $path" + exit 1 + fi # Extract component name from tag name (e.g., contract-tests-v1.2.3 -> contract-tests) component=$(echo "$tag_name" | sed 's/-v[0-9].*//') - # Get the major version for this component - major_version="${{ steps.release.outputs['${path}--major'] }}" - # Create component-specific major tag major_tag="${component}-v${major_version}" echo "Creating major tag: $major_tag for tag: $tag_name" From 8dbada7351d62a8b4b64eda5fd7c817c6dc9be3b Mon Sep 17 00:00:00 2001 From: jsonbailey Date: Fri, 21 Nov 2025 14:43:03 -0600 Subject: [PATCH 2/3] fix double encoded json --- .github/workflows/release-please.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 9b8397f..bc652bc 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -34,8 +34,8 @@ jobs: git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - # Parse the JSON array of released paths - echo "$RELEASE_OUTPUTS" | jq -r '.paths_released[]' | while read -r path; do + # Parse the JSON string of released paths (paths_released is a JSON string, not an array) + echo "$RELEASE_OUTPUTS" | jq -r '.paths_released | fromjson | .[]' | while read -r path; do # Use jq to dynamically look up values using the path variable tag_name=$(echo "$RELEASE_OUTPUTS" | jq -r ".[\"${path}--tag_name\"]") major_version=$(echo "$RELEASE_OUTPUTS" | jq -r ".[\"${path}--major\"]") From 480538be76c336c72b5e192490f294192e3e2432 Mon Sep 17 00:00:00 2001 From: jsonbailey Date: Thu, 11 Jun 2026 11:12:49 -0500 Subject: [PATCH 3/3] feat: Add 7-day minimum release age to shared Renovate preset Co-Authored-By: Claude Sonnet 4.6 --- renovate/sdk.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate/sdk.json b/renovate/sdk.json index 9906d73..18551d3 100644 --- a/renovate/sdk.json +++ b/renovate/sdk.json @@ -8,6 +8,7 @@ "pinDigests": false } ], + "minimumReleaseAge": "7 days", "vulnerabilityAlerts": { "enabled": true },