diff --git a/.github/workflows/create-release-pr.yaml b/.github/workflows/create-release-pr.yaml index a46421e..2adee0a 100644 --- a/.github/workflows/create-release-pr.yaml +++ b/.github/workflows/create-release-pr.yaml @@ -297,7 +297,29 @@ jobs: - name: Create PR env: GITHUB_TOKEN: "${{ secrets.TAYLORBOT_GITHUB_ACTION }}" + actor: "${{ github.actor }}" base: "${{ needs.gather_facts.outputs.base }}" + branch: "${{ needs.gather_facts.outputs.branch }}" version: "${{ needs.gather_facts.outputs.version }}" run: | - gh pr create --assignee ${{ github.actor }} --title "chore(release): v${{ env.version }}" --body "" --base ${{ env.base }} --head "${{ needs.gather_facts.outputs.branch }}" + # A repo can ship a release PR body in .github/release-pr-body.md. It is used + # verbatim, so a repo whose CI is triggered from the PR body - e.g. Tekton's + # `/run cluster-test-suites` - gets its tests run on the release PR without + # anyone having to remember to comment. Repos without the file keep an empty + # body, as before. + body_file=".github/release-pr-body.md" + if [ -f "${body_file}" ]; then + echo "Using release PR body from ${body_file}" + body="$(cat "${body_file}")" + else + body="" + fi + + # Values come from the step environment rather than template expansions, which + # would be interpolated into the script before it runs. + gh pr create \ + --assignee "${actor}" \ + --title "chore(release): v${version}" \ + --body "${body}" \ + --base "${base}" \ + --head "${branch}" diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f28c2e..104bc59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), however this project does not use Semantic Versioning and there are no releases. Instead this file uses a date-based structure. +## 2026-08-06 + +### Added + +- `create-release-pr`: Use `.github/release-pr-body.md` as the release PR body when a repo ships that file. Release PRs were created with an empty body, so repos whose CI is triggered from the PR body - such as Tekton's `/run cluster-test-suites` - never ran their tests on a release PR unless someone remembered to comment. Repos without the file keep an empty body. Towards https://github.com/giantswarm/roadmap/issues/4334 + ## 2026-08-05 ### Fixed