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 😸
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
619740b to
4272d23
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>
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.
4272d23 to
ca70a83
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.