Skip to content

Add PAC release automation#2062

Open
rajnish-jais wants to merge 1 commit into
tektoncd:mainfrom
rajnish-jais:pac-automate-releases
Open

Add PAC release automation#2062
rajnish-jais wants to merge 1 commit into
tektoncd:mainfrom
rajnish-jais:pac-automate-releases

Conversation

@rajnish-jais

Copy link
Copy Markdown

Summary

Adds .tekton/release.yaml and .tekton/release-patch.yaml to automate releases using Pipelines-as-Code, following the exact pattern already merged in:

The .tekton/release.yaml PipelineRun fires once when a release-v* branch is first created (CEL guard: body.created == true). The .tekton/release-patch.yaml is triggered via PAC incoming webhooks for patch releases, receiving version and release_as_latest as payload params.

The companion plumbing PR to add the Repository CR in tektoncd/plumbing will follow.

Closes #2061

@tekton-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign khrm after the PR has been reviewed.
You can assign the PR to them by writing /assign @khrm in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 6, 2026
@anithapriyanatarajan

Copy link
Copy Markdown
Contributor

/release-note-none

@tekton-robot tekton-robot added release-note-none Denotes a PR that doesnt merit a release note. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Jul 16, 2026
@anithapriyanatarajan

Copy link
Copy Markdown
Contributor

@infernus01 - could you help verifying this config

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file fires via PAC incoming webhooks, but there's no patch-release.yaml to actually call that webhook. Let's add that file as well.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added .github/workflows/patch-release.yaml — mirrors the pattern from tektoncd/pipeline#9671, with PAC_REPOSITORY_NAME and MIN_RELEASE_VERSION adapted for triggers.

Comment thread .tekton/release-patch.yaml Outdated
- name: releaseAsLatest
value: "{{ release_as_latest }}"
- name: platforms
value: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's also include windows/amd64

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added windows/amd64 to platforms in both release.yaml and release-patch.yaml.

@infernus01

Copy link
Copy Markdown
Member

@rajnish-jais It would be better if you could add a nightly-build workflow as well. Not a blocker for this PR, but that'd good to have, since triggers doesn't have yet.

@infernus01

Copy link
Copy Markdown
Member

Please consider the same reviews for the results PR as well.

@rajnish-cloudbees

Copy link
Copy Markdown

Both review comments from @infernus01 are resolved:

  • windows/amd64 added to platforms in both release.yaml and release-patch.yaml
  • .github/workflows/patch-release.yaml added — triggers the PAC incoming webhook for patch releases

The nightly-build workflow is noted as a follow-up; will track separately.

@infernus01 infernus01 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @rajnish-jais.
Let's also update release cheat sheet to document the new automated flow because after this merges, the cheat sheet would be misleading. Could you update the release cheat sheet to reflect the new flow? Also, while you do it, please update the README as well to reflect the new feature. You can take references from other components though.

@infernus01

Copy link
Copy Markdown
Member

😄 and please consider it for the results PR as well! Thanks.

@rajnish-cloudbees

Copy link
Copy Markdown

@infernus01 The results PR (tektoncd/results#1373) already has the same fixes — windows/amd64 in publishPlatforms for both release.yaml and release-patch.yaml, and .github/workflows/patch-release.yaml present.

rajnish-jais added a commit to rajnish-jais/plumbing that referenced this pull request Jul 20, 2026
Adds releases-triggers and releases-results namespaces with Repository
CRs so PAC can dispatch release PipelineRuns for:

- tektoncd/triggers (see tektoncd/triggers#2062)
- tektoncd/results (see tektoncd/results#1373)

Follows the same pattern as the existing chains, pipeline, pruner,
operator, and cli CRs.
rajnish-jais added a commit to rajnish-jais/plumbing that referenced this pull request Jul 20, 2026
Adds releases-triggers and releases-results namespaces with Repository
CRs so PAC can dispatch release PipelineRuns for:

- tektoncd/triggers (see tektoncd/triggers#2062)
- tektoncd/results (see tektoncd/results#1373)

Follows the same pattern as the existing chains, pipeline, pruner,
operator, and cli CRs.
@infernus01

Copy link
Copy Markdown
Member

@infernus01 The results PR (tektoncd/results#1373) already has the same fixes — windows/amd64 in publishPlatforms for both release.yaml and release-patch.yaml, and .github/workflows/patch-release.yaml present.

I appreciate that, btw I was talking about this review for results as well - #2062 (review)

@linux-foundation-easycla

linux-foundation-easycla Bot commented Jul 20, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: rajnish-jais / name: Rajnish Kumar (9c185ce)

@tekton-robot tekton-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 20, 2026
@rajnish-jais

Copy link
Copy Markdown
Author

@infernus01 Updated both files:

  • tekton/release-cheat-sheet.md — rewritten to document the PAC-automated flow (initial release via branch creation, patch release via manual workflow_dispatch or weekly cron). Modelled after the pipeline cheat sheet.
  • releases.md — added a paragraph under Release Process noting PAC automation, and fixed the tekton-releases-docs link to point to the cheat sheet.

@tekton-robot tekton-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jul 20, 2026
@rajnish-jais
rajnish-jais force-pushed the pac-automate-releases branch from 335750d to 8b4ece7 Compare July 20, 2026 13:26
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 20, 2026

@infernus01 infernus01 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The releases.md update looks good to me.
We still need to update release-cheat-sheet.md to document the new automated flow.

@infernus01 infernus01 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also please squash the commits.

@rajnish-jais
rajnish-jais force-pushed the pac-automate-releases branch from 8b4ece7 to 58487a8 Compare July 21, 2026 06:56
@rajnish-jais
rajnish-jais force-pushed the pac-automate-releases branch from 58487a8 to 9c185ce Compare July 21, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note-none Denotes a PR that doesnt merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: automate releases with Pipelines-as-Code

5 participants