Repository navigation
[cherry-pick: release-v0.46.x] fix: use latest Tekton releases and fix ConfigMap timing issue - #3322
Merged
Conversation
Update E2E test setup to use latest stable releases and fix ConfigMap timing issue: **Pipelines:** - Remove v1.12.0 pin and use latest release - Remove TODO comment about switching back to latest **Triggers:** - Skip nightly builds and use latest release directly - Fix timing: wait for pods AFTER applying interceptors (not before) **Root Cause:** Triggers v0.37.1 added config-triggers-core-interceptors ConfigMap for GitHub Enterprise allowlist feature. The controller fatally crashes on startup if this ConfigMap doesn't exist, even though the feature defaults to disabled. Old broken order caused controller to crash: 1. Apply release.yaml (creates controller Deployment) 2. **Wait for pods** (controller starts, needs ConfigMap, crashes) 3. Apply interceptors.yaml (ConfigMap created too late) **Fix (matching tektoncd/triggers pattern):** 1. Apply release.yaml (creates CRDs and Deployment) 2. Wait for ClusterInterceptor CRD to be Established (provides delay for image pull) 3. Apply interceptors.yaml (creates ConfigMap before controller starts) 4. Wait for pods (controller finds ConfigMap, starts successfully) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
divyansh42
approved these changes
Oct 5, 2026
Contributor
Author
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: divyansh42 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Member
|
/lgtm |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a cherry-pick of #3298
Changes
Update E2E test setup to use latest stable releases for both Tekton Triggers and Pipelines, and fix the ConfigMap timing issue:
Pipelines:
https://infra.tekton.dev/tekton-releases/pipeline/latest/release.yamlTriggers:
https://infra.tekton.dev/tekton-releases/triggers/latest/release.yamlRoot Cause
Triggers v0.37.1 added a new ConfigMap
config-triggers-core-interceptorsfor the GitHub Enterprise host allowlist feature (#2125). The triggers controller fatally crashes on startup if this ConfigMap doesn't exist, even though the feature defaults to disabled:The ConfigMap is included in
interceptors.yaml(verified in downloaded v0.37.1 release), but our installation order was broken:Old broken order:
release.yaml→ Creates triggers-controller Deploymentinterceptors.yaml→ Creates ConfigMap (too late, pods already crashed)Fix
Move
wait_until_pods_runningto AFTER applyinginterceptors.yaml. This matches the installation pattern used by tektoncd/triggers itself:New correct order:
release.yaml→ Install CRDs and create Deploymentinterceptors.yaml→ Create ConfigMap before controller startsThe
kubectl waitfor CRD Establishment provides enough delay for the controller pod to be created and the container image to be pulled, but not yet started. By the time the controller binary runs and tries to read the ConfigMap, step 3 has already created it.Submitter Checklist
make checkmake generated— N/A, no code changesRelease Notes