Skip to content

ci: cache Minikube downloads and retry a failed Minikube setup - #3659

Merged
csviri merged 1 commit into
mainfrom
ci/cache-and-retry-minikube
Oct 24, 2026
Merged

csviri merged 1 commit into
mainfrom
ci/cache-and-retry-minikube

Conversation

@csviri

@csviri csviri commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

minikube start downloads the Kubernetes binaries (none driver) or the
base and preloaded images (docker driver) on every run. With many matrix
jobs starting at once, these downloads regularly time out (e.g. a TLS
handshake timeout to dl.k8s.io) and fail the job before any test runs.

Cache minikube's download cache keyed on the minikube and Kubernetes
versions and the driver, and retry the setup once after cleaning up a
failed attempt.

Summary by CodeRabbit

  • Chores
    • Updated automated test workflows to cache Minikube downloads based on runner and version settings.
    • The workflows now retry Minikube setup after attempting to clean up a failed initial setup, improving resilience when automated tests run.

minikube start downloads the Kubernetes binaries (none driver) or the
base and preloaded images (docker driver) on every run. With many matrix
jobs starting at once, these downloads regularly time out (e.g. a TLS
handshake timeout to dl.k8s.io) and fail the job before any test runs.

Cache minikube's download cache keyed on the minikube and Kubernetes
versions and the driver, and retry the setup once after cleaning up a
failed attempt.
Copilot AI balanced review requested due to automatic review settings October 23, 2026 09:10
@openshift-ci
openshift-ci Bot requested review from metacosm and xstefank October 23, 2026 09:10
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6a561fa1-c689-452b-8776-4b00dd5ccb36
📥 Commits

Reviewing files that changed from the base of the PR and between 01b307e and 7ed16eb.

📒 Files selected for processing: 2
  • .github/workflows/e2e-test.yml
  • .github/workflows/integration-tests.yml

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

📝 Walkthrough

Both test workflows configure Minikube versions and cache Minikube downloads. If initial Minikube setup fails, each workflow attempts cluster cleanup and retries setup.

Changes: Minikube workflow setup

Layer / File(s) Summary
Version and cache configuration
.github/workflows/e2e-test.yml, .github/workflows/integration-tests.yml
The workflows define Minikube version settings and add download caches keyed by runner and version details.
Failed setup cleanup and retry
.github/workflows/e2e-test.yml, .github/workflows/integration-tests.yml
If initial Minikube setup fails, each workflow attempts to delete the cluster and then retries setup. The setup attempts use the configured Minikube and Kubernetes versions.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 7ed16

No actionable merge-blocking risk is established; the Minikube cache and retry configuration are consistent with the setup action.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "ci: cache Minikube downloads and retry a failed Minikube setup" matches the main change. The workflow files cache Minikube downloads keyed by runner OS, versions, and driver. They also cont…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "ci: cache Minikube downloads and retry a failed Minikube setup" matches the main change. The workflow files cache Minikube downloads keyed by runner OS, versions, and driver. They also continue on initial setup failure, clean up the failed cluster, and retry setup. The PR objectives describe the same two goals.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Copilot AI 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.

🟢 Approval recommended

The cache paths match the setup action’s storage location, retry failures remain blocking, and no unresolved issues were identified.

No open issues 🎉

What changed in this PR

This PR improves CI reliability by caching Minikube downloads and retrying failed cluster setup once before running integration and end-to-end tests.

Changes:

  • Cache downloads using keys scoped to the operating system, Minikube version, Kubernetes version, and driver.
  • Clean up failed Minikube setup before retrying, while keeping retry failures blocking.
  • Centralize version values in job-level environment variables.
File Description
.github/​workflows/​integration-tests.yml Adds download caching and cleanup-before-retry for the none driver.
.github/​workflows/​e2e-test.yml Adds download caching and cleanup-before-retry for the Docker driver.

Review effort: Balanced

@csviri csviri left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

LGTM

@csviri
csviri merged commit f352890 into main Oct 24, 2026
34 checks passed
@csviri
csviri deleted the ci/cache-and-retry-minikube branch October 24, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants