Skip to content

feat: add reusable Kind cluster action - #1087

Open
Soundcreates wants to merge 8 commits into
kubeflow:masterfrom
Soundcreates:feat/reusable-kind-cluster-action
Open

Soundcreates wants to merge 8 commits into
kubeflow:masterfrom
Soundcreates:feat/reusable-kind-cluster-action

Conversation

@Soundcreates

@Soundcreates Soundcreates commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #1068

Summary

  • Add a reusable Kind cluster action based on the Kubeflow Pipelines setup, with optional runner cleanup and Docker mirror configuration.
  • Default the Kind node image from the requested Kubernetes version, pin actions/cache, and accept a Kind config file for multi-node clusters.
  • Resolve relative and colon-separated KUBECONFIG values before Kind starts and expose the resulting absolute path.
  • Test Kubernetes v1.35.8, v1.36.4, and v1.37.0 with digest-pinned node images.

Validation

  • YAML parsing and Bash syntax checks passed for the composite action and workflow.
  • Local checks passed for relative and colon-separated KUBECONFIG handling.
  • The GitHub Kind matrix workflow is waiting for maintainer approval, so cluster execution has not run yet.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Kubeconfig handling can produce invalid relative paths, and the documentation uses mutable action references.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds a reusable composite action for provisioning Kind clusters in CI and documents its usage.

Changes:

  • Adds configurable Kind cluster creation with kubeconfig export.
  • Documents inputs and example workflow usage.
File summaries
File Description
.github/actions/create-cluster/action.yml Defines cluster provisioning and kubeconfig handling.
README.md Documents the reusable action and usage example.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 3
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/actions/create-cluster/action.yml Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
@Soundcreates

Copy link
Copy Markdown
Contributor Author

I'll address these changes and update them shortly

Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
@Soundcreates
Soundcreates force-pushed the feat/reusable-kind-cluster-action branch from f47d430 to 3a58c2f Compare September 23, 2026 02:41
@Soundcreates

Copy link
Copy Markdown
Contributor Author

I checked the three review notes against the current head. The action resolves relative KUBECONFIG values to an absolute path and passes it explicitly to kubectl; the README pins both checkout and the reusable action to full commit SHAs. I resolved the addressed threads on the current diff. Could you review this revision?

@tariq-hasan tariq-hasan 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.

Thank you for driving the effort @Soundcreates! As discussed in #1068 (comment) please base the implementation on the KFP action - https://github.com/kubeflow/pipelines/blob/master/.github/actions/create-cluster/action.yml. Please also make sure to bring in the helpers in the action as well.

@jaiakash I think best to move GPU support into a follow-up PR so we can keep this one focused on runner prep and provisioning. What do you think? Opt-in add-ons (such as GPU support), component install (#1075), test execution (#1088), diagnostics and teardown can come in as follow-up PRs.

@Soundcreates To make sure we test this action in CI please also add a separate workflow in this repo that runs the action across the supported K8s versions and verifies the cluster is reachable (e.g. kubectl get nodes).

Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from tariq-hasan. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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

@google-oss-prow google-oss-prow Bot added size/XL and removed size/L labels Sep 30, 2026
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
@Soundcreates
Soundcreates force-pushed the feat/reusable-kind-cluster-action branch from cae69ec to bef60dc Compare September 30, 2026 16:54
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>

@tariq-hasan tariq-hasan 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.

Hi @Soundcreates! Thank you for the effort. I have added a few comments.

Comment thread .github/actions/create-cluster/action.yml
Comment thread .github/actions/create-cluster/action.yml Outdated
Comment thread .github/actions/create-cluster/action.yml
Comment thread .github/actions/create-cluster/action.yml
Comment thread .github/actions/create-cluster/action.yml Outdated
Comment thread .github/actions/create-cluster/action.yml
Comment thread .github/actions/create-cluster/action.yml
Comment thread .github/actions/create-cluster/action.yml Outdated
Comment thread .github/workflows/create-cluster.yaml Outdated
Signed-off-by: Shantanav Mukherjee <shantanav7@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

request: Add Reusable Kind cluster creation CI action

3 participants