Skip to content

Let repos define the release PR body - #266

Merged
njuettner merged 3 commits into
mainfrom
release-pr-body
Aug 7, 2026
Merged

Let repos define the release PR body#266
njuettner merged 3 commits into
mainfrom
release-pr-body

Conversation

@njuettner

Copy link
Copy Markdown
Member

Towards giantswarm/roadmap#4334

create-release-pr creates release PRs with --body "". Tekton auto-runs a repo's E2E tests by reading /run ... from the PR body — that is how the normal PR template triggers them — so release PRs triggered nothing. Running the tests depended on someone remembering to comment, and provider chart releases were merged with no E2E run at all:

Repo Release PRs E2E
cluster-aws #2036, #2034 none
cluster-cloud-director #577, #573 none
cluster-vsphere #527 none

With this change, a repo that ships .github/release-pr-body.md gets its contents as the release PR body. Repos without the file keep an empty body, exactly as today.

The provider chart repos will add that file containing /run cluster-test-suites; the pipeline already expands to every suite for the provider when it detects a release PR, so the extended set runs without further parameters. App repos can opt in the same way with /run app-test-suites.

Chosen over a central trigger with a hardcoded repo list (giantswarm/tekton-resources#930, now closed): each repo declares itself, so there is no list to maintain, repos without test suites simply do not add the file, and it is visible in the PR what will run.

The file is read from the checked-out release branch in the same job that creates the PR, so no extra checkout is needed.

Release PRs were created with an empty body. Repos whose CI is triggered from the PR body,
such as Tekton reading '/run cluster-test-suites', therefore never ran their tests on a
release PR unless someone remembered to comment - and provider chart releases were being
merged with no E2E run at all.

If a repo ships .github/release-pr-body.md its contents are used as the body. Repos
without the file keep an empty body.
@njuettner
njuettner requested a review from a team as a code owner August 6, 2026 11:41
Comment thread .github/workflows/create-release-pr.yaml Fixed
Comment thread .github/workflows/create-release-pr.yaml Fixed
Comment thread .github/workflows/create-release-pr.yaml Fixed
Comment thread .github/workflows/create-release-pr.yaml Fixed
njuettner added a commit to giantswarm/cluster-aws that referenced this pull request Aug 6, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
njuettner added a commit to giantswarm/cluster-azure that referenced this pull request Aug 6, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
zizmor flags the gh pr create line for code injection via template expansion: github.actor,
the base, branch and version were interpolated into the script before it ran. They now
come from the step environment as shell variables, which is also quoted correctly.
njuettner added a commit to giantswarm/cluster-aws that referenced this pull request Aug 7, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
njuettner added a commit to giantswarm/cluster-eks that referenced this pull request Aug 7, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
njuettner added a commit to giantswarm/cluster-azure that referenced this pull request Aug 7, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
njuettner added a commit to giantswarm/cluster-vsphere that referenced this pull request Aug 7, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
njuettner added a commit to giantswarm/cluster-cloud-director that referenced this pull request Aug 7, 2026
Release PRs are created with an empty body, so Tekton - which starts the tests from a
/run line in the PR body - never ran anything on them, and releases were merged with no
E2E run at all. giantswarm/github-workflows#266 makes the release PR body come from this
file when present.

cluster-test-suites already expands to every suite for this provider once it detects a
release PR, so no suite parameters are needed.
@njuettner
njuettner merged commit d5851fa into main Aug 7, 2026
5 checks passed
@njuettner
njuettner deleted the release-pr-body branch August 7, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants