161 Commits

Author SHA1 Message Date
jenkins
137ea77e95 fix(demo): read the container exit code, not the Job status
The fixture check waited on the Job's .status.succeeded/.status.failed. The
kubelet records a container's exit code the instant it stops, but the Job
controller reconciles those fields on its own schedule: observed at 2m24s,
4m27s and 34m on this cluster for identical work. During that window the pod
had already exited 1 and the build sat printing 'Will try again after 13 sec',
looking hung long after the test had finished, which is unusable in a demo.

Polling the pod's terminated exitCode removes the controller from the path
entirely. The Job is still used, so the evidence shape is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 17:11:45 -03:00
jenkins
0bd47ef6a4 feat(jenkins): install junit and pipeline-stage-view
Without the junit plugin the pipeline's junit step throws NoSuchMethodError,
jenkins.failed_tests is always empty, and auto-triage has only raw console
text to reason from. That was the root of two separate diagnosis failures:
the enforced failure being crowded out of the evidence budget, and the
patcher being unable to locate the defective source file.

Pinned to junit 1369.v15da_00283f06, the newest release that runs on core
2.528.3 - the current 1418 requires 2.533. scm-api moves 724 -> 728 because
the workflow-cps these pull in requires it; verified the whole 30-plugin
dependency closure needs no core newer than 2.528.3, and rehearsed the exact
jenkins-plugin-cli install in a throwaway pod before committing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 06:08:17 -03:00
jenkins
1dc2872ebb fix(hermes-code): add branch discovery trait to multibranch source
Indexing succeeded but discovered no branches without an explicit
gitBranchDiscovery trait, so hermes-repair/* never got a validation build.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 20:14:01 -03:00
jenkins
0731ab5d9d feat(hermes-code): multibranch validation for hermes-repair/* proposal branches
Adds demo driver script and branch-level test gate so a Hermes-proposed
pull request carries a green build before human merge.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 19:46:30 -03:00
jenkins
71e6357887 feat(hermes-code): demo repo Jenkins job + Ariadne code-path configuration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 19:19:05 -03:00
jenkins
9a264f981a fix(hermes-triage-demo): restore groovy escape depths lost in ConfigMap rewrite
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:45:40 -03:00
jenkins
6462561d02 refactor(hermes-triage-demo): ConfigMap fixture replaces Longhorn PVC
- Pipeline ensures the fixture ConfigMap and seeds unhealthy via patch-file
- Test-runner mounts the ConfigMap read-only; no storage attach involved
- New hermes-demo-repair SA + Role scoped to patching only the fixture CM
- Removes the fixture PVC (Flux prunes it)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:42:10 -03:00
jenkins
78d173126a fix(hermes-triage-demo): archive junit xml as artifact; junit plugin absent
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:32:32 -03:00
jenkins
561edf41ef fix(hermes-triage-demo): pin test-runner to Longhorn-ready workers; add demo runbook
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:18:17 -03:00
jenkins
158c12317d fix(hermes-triage-demo): correct groovy escape depth for newline join and shell JSON quotes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:59:32 -03:00
jenkins
3aeb172477 fix(hermes-triage-demo): JCasC substitutes ${} at load; use concatenation-only pipeline
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:56:06 -03:00
jenkins
d8fec759b2 fix(hermes-triage-demo): agent pod securityContext must match jnlp uid 1000
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:47:48 -03:00
jenkins
11063daaaa feat(hermes-triage-demo): isolated demo surface + Jenkins job + Hermes key seeding
- New hermes-triage-demo namespace with fixture PVC and RBAC scoped to
  Jenkins agent Job creation only
- JCasC pipelineJob hermes-triage-demo: SEED_FAILURE-parameterized fixture
  check running as a Kubernetes Job in the demo namespace, emitting the
  incident ID to pod stdout (Fluent Bit -> OpenSearch kube-*) and JUnit to
  Jenkins
- Hermes init container can seed API_SERVER_KEY in the persistent .env
  from an optional hermes-api-server-key Secret (no-op until it exists)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:42:37 -03:00
jenkins
d24ef38f7a feat(cassandra): formalize registry and Jenkins cutover 2026-07-25 00:52:21 -03:00
jenkins
ce5e4542b9 jenkins: lengthen k8s exec websocket timeouts 2026-06-10 05:35:34 -03:00
jenkins
a9396dcf80 jenkins: trust ephemeral agent workspaces 2026-06-10 05:14:41 -03:00
jenkins
da25483804 jenkins: enable veles pipeline 2026-06-10 04:55:58 -03:00
jenkins
00058aaf37 jenkins: make default agents writable 2026-06-10 04:49:10 -03:00
jenkins
1d20fb35d2 veles: stage atlas infrastructure 2026-06-09 00:46:46 -03:00
jenkins
990eec43b4 ci(jenkins): refresh suite jobs twice daily 2026-06-04 20:38:02 -03:00
jenkins
ec8fd65030 ci(jenkins): soften agent spread constraints 2026-05-20 06:53:29 -03:00
jenkins
c8e4abb2e0 fix(jenkins): remove deprecated cloud cap field 2026-05-20 06:40:44 -03:00
jenkins
f898e331fd ops: restart jenkins for spread policy 2026-05-20 06:34:43 -03:00
jenkins
cd7006c7be ci: tighten agent spread and sweeper limits 2026-05-20 06:33:12 -03:00
jenkins
399555d5f1 ci(jenkins): keep recovery agents schedulable 2026-05-20 05:53:42 -03:00
jenkins
a2a2e0ac1f ops: keep jenkins controller on rpi5 2026-05-20 04:42:12 -03:00
jenkins
0648033836 ops: restart jenkins for placement policy 2026-05-20 04:29:40 -03:00
jenkins
8da1bb6d53 ops: harden ci placement and gpu idle reporting 2026-05-20 04:27:26 -03:00
jenkins
db2ea2b1dc jenkins: allow agents to fall back to rpi4 2026-05-19 23:30:34 -03:00
jenkins
1993bfb807 jenkins: lower controller scheduling requests 2026-05-19 20:37:07 -03:00
jenkins
bc992306ad jenkins: avoid HDD storage nodes for controller 2026-05-19 20:29:12 -03:00
jenkins
ed47fcadc4 ci(jenkins): roll controller for plugin refresh 2026-05-19 14:07:34 -03:00
jenkins
91f01fc454 ci(jenkins): bump kubernetes plugin 2026-05-19 13:45:26 -03:00
jenkins
281cc058d8 ops: add resource guardrails for rpi workers 2026-05-19 12:48:40 -03:00
jenkins
fab0000c9c monitoring: add typhon and category test telemetry 2026-05-16 15:38:26 -03:00
jenkins
2bcf5277b8 jenkins: reload casc for lesavka schedule 2026-05-16 13:51:55 -03:00
jenkins
c22a78d5b4 monitoring: polish testing dashboard telemetry 2026-05-16 13:48:01 -03:00
jenkins
8e4ecab9a5 jenkins: keep ci agents on rpi5 workers 2026-05-10 03:25:09 -03:00
jenkins
87f5fa0c6f jenkins: spread ci agents and cap concurrency 2026-05-10 03:17:50 -03:00
jenkins
7f586525f6 jenkins: tolerate slow kubernetes agent exec 2026-05-10 02:17:30 -03:00
jenkins
3c728f09d9 jenkins: schedule daily quality jobs 2026-05-09 23:18:32 -03:00
jenkins
9a38073a03 scheduling: keep singleton apps off storage nodes 2026-05-05 13:37:04 -03:00
f09e008fc3 jenkins: allow slow controller startup 2026-04-21 20:54:42 -03:00
jenkins
93fa63f809 jenkins: de-prefer spillover longhorn nodes for controller and agents 2026-04-21 20:48:02 -03:00
7211114f8e jenkins: avoid recursive volume ownership resets 2026-04-21 20:34:02 -03:00
24a7e6d11f jenkins: prefer rpi5 without hard pin 2026-04-21 19:51:09 -03:00
7b2cea7637 ci(jenkins): inject sonarqube token from vault 2026-04-21 19:43:08 -03:00
c760790b6e ci(jenkins): require rpi5 controller placement 2026-04-21 14:12:14 -03:00
codex
c8cb15562e jenkins: source streaming harbor creds from dedicated vault path 2026-04-19 23:02:30 -03:00
codex
1f75fc5178 jenkins: keep streaming creds optional without vault hard dependency 2026-04-19 22:45:25 -03:00