The miroir-ci.yaml WorkflowTemplate already exists in declarative-config at k8s/iad-ci/argo-workflows/miroir-ci.yaml and is synced by ArgoCD app argo-workflows-ns-iad-ci. Template verification: - All 6 steps present: git-checkout, cargo-lint, cargo-test, cargo-build, docker-build-push, create-github-release - Resource specs match: test (2 CPU / 4 GiB), build (4 CPU / 8 GiB) - Image versions correct: git 2.43.0, rust 1.87-slim, kaniko v1.23.0-debug, gh cli 2.49.0 - Tagging logic: stable releases get float tags + :latest, pre-releases get exact tag only - CHANGELOG extraction uses awk pattern as specified Manual testing deferred - kubectl not available on this system. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
P8.4: Argo Workflows CI Template - miroir-ci.yaml
Status: COMPLETE
Template exists at jedarden/declarative-config/k8s/iad-ci/argo-workflows/miroir-ci.yaml and is synced by ArgoCD app argo-workflows-ns-iad-ci.
Verification
Template Content
All requirements verified against spec:
git-checkout: alpine/git:2.43.0 → clones to /workspace/srccargo-lint: rust:1.87-slim → fmt --check + clippy -D warningscargo-test: rust:1.87-slim → test --all --all-features (2 CPU / 4 GiB)cargo-build: rust:1.87-slim + musl-tools → builds miroir-proxy + miroir-ctl (4 CPU / 8 GiB)docker-build-push: kaniko v1.23.0-debug → ghcr.io/jedarden/miroir (tag-gated)create-github-release: gh cli 2.49.0 → CHANGELOG extraction + binary uploads (tag-gated)
Image Tagging Logic
Stable release (v0.3.2):
ghcr.io/jedarden/miroir:v0.3.2ghcr.io/jedarden/miroir:0.3ghcr.io/jedarden/miroir:0ghcr.io/jedarden/miroir:latest
Pre-release (v0.3.2-rc.1):
ghcr.io/jedarden/miroir:v0.3.2-rc.1only (no float tags, no :latest)
Manual Test
Cannot test on this system (kubectl not installed). Manual submission command:
kubectl --kubeconfig=$HOME/.kube/iad-ci.kubeconfig create -f - <<EOF
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: miroir-ci-manual-
namespace: argo-workflows
spec:
workflowTemplateRef:
name: miroir-ci
arguments:
parameters:
- name: tag
value: "v0.1.0" # For release build
EOF
Secrets
Already exist on iad-ci cluster:
ghcr-credentials(for ghcr.io push)github-token(for release creation)