@@ -124,17 +124,44 @@ jobs:
124124 git commit -s -m "chore: target next development version ${next_version}"
125125 git push
126126
127+ find-release-prs :
128+ name : Find Open Release PRs
129+ # Previews key off "release PR open", not prs_created, so an
130+ # untouched open PR still re-renders after engine changes. Runs after
131+ # both release-please instances so a PR created this run is found.
132+ needs : [release-please, release-please-chart]
133+ if : ${{ !cancelled() && needs.release-please.result == 'success' }}
134+ runs-on : ubuntu-26.04
135+ timeout-minutes : 5
136+ env :
137+ GH_TOKEN : ${{ github.token }}
138+ outputs :
139+ app_pr : ${{ steps.find.outputs.app_pr }}
140+ chart_pr : ${{ steps.find.outputs.chart_pr }}
141+ steps :
142+ - name : Locate open release PRs by branch
143+ id : find
144+ run : |
145+ find_pr() {
146+ gh pr list --repo "${GITHUB_REPOSITORY}" --state open --base "${GITHUB_REF_NAME}" \
147+ --head "$1" --json number --jq '.[0].number // empty'
148+ }
149+ echo "app_pr=$(find_pr "release-please--branches--${GITHUB_REF_NAME}")" >> "$GITHUB_OUTPUT"
150+ if [ "${GITHUB_REF_NAME}" = "main" ]; then
151+ echo "chart_pr=$(find_pr 'release-please--branches--main--components--chart')" >> "$GITHUB_OUTPUT"
152+ fi
153+
127154 preview-release-notes :
128155 name : Preview Release Notes
129- needs : [release-please]
130- if : ${{ needs.release-please .outputs.prs_created == 'true ' && needs.release-please.outputs.release_created != 'true' }}
156+ needs : [release-please, find-release-prs ]
157+ if : ${{ !cancelled() && needs.find- release-prs .outputs.app_pr != ' ' && needs.release-please.outputs.release_created != 'true' }}
131158 permissions :
132159 contents : write
133160 pull-requests : write
134161 uses : $/.github/workflows/release-notes-engine.yml
135162 with :
136- checkout_ref : ${{ fromJSON(needs.release-please.outputs.prs)[0].headBranchName }}
137- preview_pr_number : ${{ fromJSON( needs.release-please .outputs.prs)[0].number }}
163+ checkout_ref : release-please--branches-- ${{ github.ref_name }}
164+ preview_pr_number : ${{ needs.find- release-prs .outputs.app_pr }}
138165 secrets :
139166 SYNC_APP_PRIVATE_KEY : ${{ secrets.SYNC_APP_PRIVATE_KEY }}
140167
@@ -278,15 +305,15 @@ jobs:
278305
279306 preview-chart-release-notes :
280307 name : Preview Chart Release Notes
281- needs : [release-please-chart]
282- if : ${{ needs.release-please-chart .outputs.prs_created == 'true ' && needs.release-please-chart.outputs.release_created != 'true' }}
308+ needs : [release-please-chart, find-release-prs ]
309+ if : ${{ needs.find- release-prs .outputs.chart_pr != ' ' && needs.release-please-chart.outputs.release_created != 'true' }}
283310 permissions :
284311 contents : write
285312 pull-requests : write
286313 uses : $/.github/workflows/release-notes-engine.yml
287314 with :
288- checkout_ref : ${{ fromJSON(needs. release-please-chart.outputs.prs)[0].headBranchName }}
289- preview_pr_number : ${{ fromJSON( needs.release-please-chart .outputs.prs)[0].number }}
315+ checkout_ref : release-please--branches--main--components-- chart
316+ preview_pr_number : ${{ needs.find- release-prs .outputs.chart_pr }}
290317 component : chart
291318 secrets :
292319 SYNC_APP_PRIVATE_KEY : ${{ secrets.SYNC_APP_PRIVATE_KEY }}
0 commit comments