Skip to content

Introduce self-hosted k8 CI harness for ci-demo (local + GHA)#129

Merged
mike-dubman merged 2 commits intoMellanox:masterfrom
mike-dubman:feature/gha-mini-k8s-jenkins-bridge
Feb 18, 2026
Merged

Introduce self-hosted k8 CI harness for ci-demo (local + GHA)#129
mike-dubman merged 2 commits intoMellanox:masterfrom
mike-dubman:feature/gha-mini-k8s-jenkins-bridge

Conversation

@mike-dubman
Copy link
Collaborator

@mike-dubman mike-dubman commented Feb 18, 2026

Introduce a unified CI harness to test ci-demo in a self-hosted Kubernetes environment (local k3s + Jenkins), and reuse the same harness in GitHub Actions.

At a high level, this change:

  • standardizes how ci-demo jobs are launched against Kubernetes,
  • makes local and GHA runs behave the same,
  • supports architecture-targeted runs via matrix config,
  • and improves failure diagnostics with automatic log capture/output.

For local validation:

make -C .ci local-gha-clean
make -C .ci local-gha-ci

For local validation on MAC:

make -C .ci local-gha-clean
make -C .ci local-gha-ci-colima

This provisions Jenkins+k3s, runs .ci/job_matrix_gha_k8.yaml, and stores logs in .tmp/local-gha-ci/logs for troubleshooting.

Summary: this PR adds a reliable, reusable CI path for validating ci-demo on self-hosted Kubernetes (Jenkins + k3s), with the same flow used locally and in GitHub Actions. It introduces architecture-aware matrix execution, stabilizes SCM/branch handling in CI environments, and improves debuggability through consistent log collection and tail output.

- use static matrix config .ci/job_matrix_gha_k8.yaml and arch-driven execution (TARGET_ARCHES/TARGET_ARCH)

- improve local runtime: native colima profile support, k3s node relabeling, and Jenkins startup cloud/label bootstrap

- stabilize Jenkins-to-k8 connectivity with in-cluster Service/Endpoints and DNS-aware preflight checks

- persist diagnostic artifacts per run (job output, Jenkins console, build JSON, container logs)

- print failure tails and workflow log tails (last 200 lines) for faster CI debugging

- make GHA and local share the same scripts/local_gha_ci.sh path and upload logs as artifacts

- fix Jenkins checkout reliability in GHA detached worktrees (branch ref handling, non-lightweight checkout, GitHub REPO_URL)

- update local cleanup and colima make targets for repeatable test cycles
Copy link
Collaborator

@dpressle dpressle left a comment

Choose a reason for hiding this comment

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

Very cool

Copy link
Collaborator

Choose a reason for hiding this comment

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

i would add something about overrunning default matrix yaml with CI_K8_FILE env var for testing localy of other matrix yaml file for different features.
Also is it possible to see jenkins UI with web-browser for local tests - in many cases i will want tosee how things look in the UI

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

script does overrun automatically.
at the end of GHA job - jenkins server log, job log and gha console is printed to stdout, also all logs are attached as job artifactory.

@mike-dubman mike-dubman merged commit c94bb8d into Mellanox:master Feb 18, 2026
2 checks passed
@mike-dubman mike-dubman deleted the feature/gha-mini-k8s-jenkins-bridge branch February 18, 2026 12:17
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