Skip to content

ci: macOS colima backend smoke workflow#76

Merged
patrickleet merged 11 commits into
feat/cluster-backend-abstractionfrom
ci/colima-macos-smoke
Jul 12, 2026
Merged

ci: macOS colima backend smoke workflow#76
patrickleet merged 11 commits into
feat/cluster-backend-abstractionfrom
ci/colima-macos-smoke

Conversation

@patrickleet

Copy link
Copy Markdown
Collaborator

Summary

Adds .github/workflows/on-pr-colima-smoke.yaml — kind-parity end-to-end smoke for hops local --backend colima on a nested-virt-capable macOS runner.

  • Runner: macos-15-intel (explicit nested-virt pin; not bare macos-latest)
  • Sequence: start → doctor → dual registry pull names → stop/start (no backend flag) → destroy
  • Context: kubectl --context colima
  • Prereqs: brew install colima/docker/kubectl/helm without pre-starting colima (hops owns bring-up)
  • Comments: runner/virt limits and localhost:30500 vs VM IP

Implements [[tasks/hops-cli-colima-macos-smoke]] under parent [[tasks/hops-cli-macos-backend-smoke]].

Stacked on PR #70 (feat/cluster-backend-abstraction).

Test plan

  • Workflow YAML parses / actionlint clean
  • Confirm runs-on: macos-15-intel and --backend colima / --context colima
  • Manual workflow_dispatch or PR run on macOS when minutes allow (optional for review)
  • Green GHA run not required for merge of this PR into feat: cluster backend abstraction (colima + kind + dory) #70; structural parity with kind smoke is the gate

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 30cb0b5f-2a57-4349-928c-7fb9ed3bee4a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/colima-macos-smoke

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@patrickleet patrickleet force-pushed the feat/cluster-backend-abstraction branch from 4297cd2 to 29b3db5 Compare July 11, 2026 19:04
Mirror kind smoke on macos-15-intel with nested-virt pin,
--backend colima, and kubectl --context colima.

Implements [[tasks/hops-cli-colima-macos-smoke]] under
[[tasks/hops-cli-macos-backend-smoke]].
Assert the shipped on-pr-colima-smoke.yaml pins macos-15-intel and
mirrors kind smoke without a full GHA run.
Drop pull_request.branches: [main] so this job runs on stacked
PRs into feat/cluster-backend-abstraction.
@patrickleet patrickleet force-pushed the ci/colima-macos-smoke branch from a35461b to 2349ced Compare July 11, 2026 19:04
Hops defaults (8 CPU / 16 GiB / 60 GiB) exceed standard GHA intel
runners (~4 / ~14), so VZ hostagent exits during start. Pass explicit
smaller sizes and dump lima ha.stderr on failure.
2 CPU / 4 GiB booted Colima but helm --wait for Crossplane hit
5m with Available: 0/1. Use 3/8 on macos-15-intel (~14 GiB host)
and raise Crossplane helm --wait timeout to 10m for nested virt.
Helm --wait hit 10m with Available:0/1 on GHA macos-15-intel. Apply
the chart without --wait, poll deployments for ~15m with periodic
pod dumps, wait for nodes Ready after docker restart, and capture
cluster state before destroy on CI failure.
Crossplane came Ready on GHA colima but ProviderConfigs apply failed
with openapi schema download timeouts. Apply with --validate=false,
retry transient failures, and re-wait for the API after Crossplane
becomes leader. Soft-wait rbac-manager when core is healthy.
ProviderConfig apply raced CRD discovery; wait for Established.
Registry PVC requests 20Gi — give colima smoke a 40Gi VM disk so
local-path can bind, and wait longer with diagnostics for registry.
After colima stop/start, pods Error on missing docker containers.
Wait longer for Available and rollout-restart crossplane/registry
if the first wait stalls.
Nested-virt colima CI loses the apiserver (TLS timeouts) right after
Crossplane/provider install. Wait longer for /readyz, retry kubectl
apply with API re-probes, and pre-pull registry:2 before deploy.
At 3/8/40, dual-name registry smoke pods sat in ContainerCreating without
IPs while CoreDNS and metrics-server thrashed. Bump VM memory to 10Gi,
wait for node/CoreDNS before the push, extend Ready timeout, and dump
smoke pod describe on failure.
@patrickleet patrickleet merged commit cdf9145 into feat/cluster-backend-abstraction Jul 12, 2026
4 of 5 checks passed
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.

1 participant