feat: implement automated release system for tektoncd projects#3093
feat: implement automated release system for tektoncd projects#3093vdemeester wants to merge 3 commits intotektoncd:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
fd20080 to
7a53138
Compare
|
/cc @afrittoli @anithapriyanatarajan |
|
@vdemeester: GitHub didn't allow me to request PR reviews from the following users: anithapriyanatarajan. Note that only tektoncd members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
| kind create cluster --name tekton-test | ||
|
|
||
| # 2. Install Tekton | ||
| kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml |
There was a problem hiding this comment.
These should be infra.tekton.dev 😸
4a2e2fe to
3949e73
Compare
Add infrastructure for automated release management of Tekton projects, starting with tektoncd/pipeline. Core components: - EventListener with TriggerBindings for release branch events - Per-project TriggerTemplates using git resolver to fetch release pipelines directly from project repos (no pre-installation needed) - scan-release-branches Task for detecting new commits on release branches - release-chatops-router Task for slash commands on tracking issues - manage-release-tracking-issue Task for GitHub issue automation - CronJob for scheduled weekly branch scanning Features: - Dual trigger: GitHub webhooks and cron-based scanning - minVersion filter to scope which release branches are processed - Automatic version detection (compares HEAD vs latest git tag) - ChatOps commands: /release-status, /release-cancel, /release-restart, /release-full, /release-validate - Per-project kustomize overlays (pipeline as first project) Deployment: - Namespace: automated-releases - Kustomize overlays for dogfooding environment - RBAC and ServiceAccount configuration Closes tektoncd#58 Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
Query GitHub releases API during scan to determine which release branch corresponds to the current latest release. Patch releases on that branch get releaseAsLatest=true so the bucket latest/ path is updated. - Scan task: detect latest release, compare major.minor with each branch - Add github-secret workspace to scan task for API access - Pass releaseAsLatest through binding → template → PipelineRun param Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
f25d995 to
4cd9bef
Compare
|
|
||
| # 2. Install Tekton | ||
| kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml | ||
| kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/latest/release.yaml |
There was a problem hiding this comment.
Ditto, and this is not enough for installing triggers, there is more than one file
Add previousVersion to the scan-release-branches payload and propagate it through bindings and TriggerTemplates to the pipeline PipelineRun as the previousReleaseTag param. Also wire the github-token secret as the github-secret workspace so the release pipeline can create draft GitHub releases automatically.
619740b to
4272d23
Compare
Changes
Adds infrastructure for automated release management of Tekton projects.
Core Components
ChatOps Commands
/release-status- Query release PipelineRun status/release-cancel- Cancel running release/release-restart- Restart failed release/release-full- Trigger full release with publishing/release-validate- Run validation onlyDeployment
automated-releasestekton/resources/kustomization.yamlCloses #58
/kind feature
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide
for more details.