Score tracks X wins, O wins, draws in-memory for current session.
Jenkinsfile rewritten as scripted pipeline with named execute functions
and per-branch strategy closures (mirrors BasePipeline pattern).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch from external harbor.fireflylab.local (no K8s DNS) to
harbor-core.harbor.svc.cluster.local which resolves via NodeLocalDNS.
Also reset tag to latest.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Stages now gated by branch:
- PR-*: test only
- feature/*: test + build/push + helm bump + git push
- develop/main/release/hotfix: test + build/push only
Remove Checkout stage (multibranch auto-checks out), Bump Helm Chart,
and Commit & Push stages. Drop tools container and chart env vars.
Image tag is now branch-random8 (e.g. main-a1b2c3d4).
Replace harbor.fireflylab.local (external DNS, not resolvable from pods)
with harbor-core.harbor.svc.cluster.local (internal ClusterIP, always resolvable).
DinD insecure-registry flag allows HTTP to the internal service.
values.yaml image.repository stays as harbor.fireflylab.local so kubelet
pulls via the external hostname (same image, different access path).
K8s pod is ephemeral — workspace dies with pod. deleteDir/cleanWs
not needed and fails on node_modules permission errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>