Skip to content

fix: use latest Tekton releases and fix ConfigMap timing issue - #3298

Merged
tekton-robot merged 1 commit into
tektoncd:mainfrom
divyansh42:fix/pin-triggers-v0.37.0
Sep 24, 2026
Merged

tekton-robot merged 1 commit into
tektoncd:mainfrom
divyansh42:fix/pin-triggers-v0.37.0

Conversation

@divyansh42

@divyansh42 divyansh42 commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Changes

Update E2E test setup to use latest stable releases for both Tekton Triggers and Pipelines, and fix the ConfigMap timing issue:

Pipelines:

Triggers:

  • Skip nightly builds (currently broken) and use latest release directly
  • Use latest release: https://infra.tekton.dev/tekton-releases/triggers/latest/release.yaml
  • Fix timing issue: Wait for pods AFTER applying interceptors.yaml (not before)

Root Cause

Triggers v0.37.1 added a new ConfigMap config-triggers-core-interceptors for 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:

{"severity":"fatal","timestamp":"2026-09-24T06:49:19.266Z","logger":"controller",
"caller":"sharedmain/main.go:311","message":"Failed to start configmap watcher",
"error":"configmap \"config-triggers-core-interceptors\" not found"}

The ConfigMap is included in interceptors.yaml (verified in downloaded v0.37.1 release), but our installation order was broken:

Old broken order:

  1. Apply release.yaml → Creates triggers-controller Deployment
  2. Wait for pods → Controller starts, needs ConfigMap, crashes immediately
  3. Wait for CRD to be Established
  4. Apply interceptors.yaml → Creates ConfigMap (too late, pods already crashed)

Fix

Move wait_until_pods_running to AFTER applying interceptors.yaml. This matches the installation pattern used by tektoncd/triggers itself:

New correct order:

  1. Apply release.yaml → Install CRDs and create Deployment
  2. Wait for ClusterInterceptor CRD to be Established → Provides delay for image pull
  3. Apply interceptors.yaml → Create ConfigMap before controller starts
  4. Wait for pods → Controller now finds ConfigMap and starts successfully

The kubectl wait for 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

  • Includes tests (if functionality changed/added) — N/A, test infrastructure change only
  • Run the code checkers with make check
  • Regenerate the manpages, docs and go formatting with make generated — N/A, no code changes
  • Commit messages follow commit message best practices

Release Notes

NONE

@tekton-robot tekton-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Sep 24, 2026
@tekton-robot tekton-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from 4fb01bc to 93c5e1e Compare September 24, 2026 07:21
@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. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 24, 2026
@divyansh42

Copy link
Copy Markdown
Member Author

/hold

@tekton-robot tekton-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from 93c5e1e to e779504 Compare September 24, 2026 07:45
@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 24, 2026
@divyansh42 divyansh42 changed the title fix: pin Tekton Triggers to v0.37.0 to avoid v0.37.1 bug fix: use latest Tekton Triggers release instead of nightly Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from e779504 to cc69588 Compare September 24, 2026 07:49
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from cc69588 to c491ab4 Compare September 24, 2026 07:56
@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 Sep 24, 2026
@divyansh42

Copy link
Copy Markdown
Member Author

/hold cancel

@tekton-robot tekton-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2026
@divyansh42 divyansh42 changed the title fix: use latest Tekton Triggers release instead of nightly fix: use latest Tekton releases instead of nightly/pinned versions Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from c491ab4 to c9afe83 Compare September 24, 2026 08:14
@divyansh42 divyansh42 changed the title fix: use latest Tekton releases instead of nightly/pinned versions fix: use latest Tekton releases and fix installation order Sep 24, 2026
@tekton-robot tekton-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Sep 24, 2026
@divyansh42
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from c9afe83 to 7d4e2b5 Compare September 24, 2026 08:30
@divyansh42 divyansh42 changed the title fix: use latest Tekton releases and fix installation order fix: use latest Tekton releases and fix ConfigMap timing issue Sep 24, 2026
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
divyansh42 force-pushed the fix/pin-triggers-v0.37.0 branch from 7d4e2b5 to 028a17d Compare September 24, 2026 08:40

@vdemeester vdemeester 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.

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: vdemeester

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

The pull request process is described 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 approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 24, 2026
@tekton-robot
tekton-robot merged commit bb65fb6 into tektoncd:main Sep 24, 2026
18 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesnt merit a release note. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants