Skip to content

feat: automate releases with Pipelines-as-Code#2795

Open
vdemeester wants to merge 1 commit intotektoncd:mainfrom
vdemeester:pac-release-automation
Open

feat: automate releases with Pipelines-as-Code#2795
vdemeester wants to merge 1 commit intotektoncd:mainfrom
vdemeester:pac-release-automation

Conversation

@vdemeester
Copy link
Copy Markdown
Member

Changes

Automate CLI releases using Pipelines-as-Code (PAC), following the same
pattern established for tektoncd/pipeline and tektoncd/operator.

What's added

.tekton/release.yaml

PAC PipelineRun triggered via incoming webhooks. References the existing
tekton/release-pipeline.yml and catalog tasks (git-clone, golangci-lint,
golang-test, golang-build, goreleaser). The version tag is passed as the
revision so goreleaser can detect it.

.github/workflows/patch-release.yaml

GitHub Actions workflow with two trigger modes:

  • Scheduled (weekly Thursday 10:00 UTC): scans all release-v* branches
    for unreleased commits since the last tag, creates version tags, and
    triggers PAC incoming webhooks
  • Manual (workflow_dispatch): release a specific version on a specific
    branch

The workflow creates the git tag and pushes it before triggering PAC, since
goreleaser requires a tag on HEAD.

Dependencies

/kind feature

Submitter Checklist

  • Includes tests (if functionality changed/added)
  • Run the code checkers with make check
  • Regenerate the manpages, docs and go formatting with make generated
  • Commit messages follow commit message best practices

Release Notes

NONE

- Add PAC PipelineRun definition for incoming webhook-triggered releases
  using goreleaser to build binaries and create GitHub releases
- Add patch-release GHA workflow with weekly branch scanning and manual
  dispatch to create tags and trigger PAC releases

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
@tekton-robot tekton-robot added kind/feature Categorizes issue or PR as related to a new feature. release-note-none Denotes a PR that doesnt merit a release note. labels Apr 7, 2026
@tekton-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please ask for approval from vdemeester after the PR has been reviewed.

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 the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature Categorizes issue or PR as related to a new feature. 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.

2 participants