Skip to content

Fix: Pin kind version and node image in E2E workflow - #522

Open
meyrevived wants to merge 5 commits into
tektoncd:mainfrom
meyrevived:fix/pin-kind-version
Open

Fix: Pin kind version and node image in E2E workflow#522
meyrevived wants to merge 5 commits into
tektoncd:mainfrom
meyrevived:fix/pin-kind-version

Conversation

@meyrevived

@meyrevived meyrevived commented Aug 2, 2026

Copy link
Copy Markdown

Summary

  • Pin kind to v0.32.0 (latest stable) instead of floating /dl/latest/
  • Pin node image to kindest/node:v1.35.5
  • Add Renovate annotations so both versions are kept up to date automatically

Root cause

kind.sigs.k8s.io/dl/latest/ resolved to v0.33.0-alpha, which ships kindest/node:v1.36.1. That node image uses an OCI runtime spec version incompatible with the crun binary on GitHub Actions ubuntu runners when KIND_EXPERIMENTAL_PROVIDER=podman, producing crun: unknown version specified (exit 126) at cluster creation.

Approach

Rather than hardcoding a version that rots, the kind binary version and node image are annotated with Renovate datasource comments:

  • kind binary: datasource=github-releases depName=kubernetes-sigs/kind — Renovate's default semver versioning excludes pre-release tags (-alpha, -beta, -rc), so only stable kind releases are proposed.
  • node image: datasource=docker depName=kindest/node — tracked as a Docker image tag.

Because kind and its node image are not independently versionable, a Renovate update to one without the other could cause a mismatch. This is safe because CI creates a kind cluster on every PR — an incompatible pairing fails the E2E workflow before merge, making the mismatch visible and blocking the update.

Test plan

  • E2E tests pass with pinned versions (CI validates this)

🤖 Generated with Claude Code

@linux-foundation-easycla

linux-foundation-easycla Bot commented Aug 2, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: meyrevived / name: mrath (fc4eafe)

The /dl/latest/ endpoint resolved to kind v0.33.0-alpha which ships
kindest/node:v1.36.1 with an OCI spec version incompatible with the
GitHub runner crun binary when using podman provider. Pin kind to
v0.32.0 and node image to kindest/node:v1.35.5.

Authored-by: Claude Code (Opus)
@meyrevived
meyrevived force-pushed the fix/pin-kind-version branch from 38cf249 to fc4eafe Compare August 2, 2026 08:47
@meyrevived
meyrevived marked this pull request as ready for review August 2, 2026 08:56
@meyrevived meyrevived changed the title Pin kind version and node image in E2E workflow Fix: Pin kind version and node image in E2E workflow Aug 2, 2026
Extracting the kind version into a variable with a Renovate datasource
comment enables automated dependency updates while maintaining the pin.
Semver versioning excludes pre-release/alpha builds by default.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Renovate inline annotations on KIND_VERSION and kindest/node
require matching customManagers entries to be discovered.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tekton-robot tekton-robot added size/M and removed size/S labels Aug 3, 2026
Ensures Renovate proposes both in a single PR, preventing
version mismatch between kind binary and node image.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@khrm khrm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@tekton-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: glevi-rh, ilaydamari

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:
  • OWNERS [glevi-rh,ilaydamari]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Comment thread .github/workflows/test-e2e.yml Outdated
Comment thread .github/workflows/test-e2e.yml Outdated
@khrm

khrm commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

/retest

…e's regex custom manager cannot perform initial digest pinning — it can only maintain an existing digest. That's why the digest must be manually added first (which these changes do). After that, Renovate updates both tag and digest together on version bumps. This is a documented limitation (renovatebot/renovate#10993).
@tekton-robot tekton-robot removed the lgtm label Aug 10, 2026
@tekton-robot

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants