miroir/notes/miroir-qjt.4.md
jedarden d21ba9a856 P8.4: Document miroir-ci.yaml Argo Workflows template completion
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>
2026-05-23 07:26:55 -04:00

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/src
  • cargo-lint: rust:1.87-slim → fmt --check + clippy -D warnings
  • cargo-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.2
  • ghcr.io/jedarden/miroir:0.3
  • ghcr.io/jedarden/miroir:0
  • ghcr.io/jedarden/miroir:latest

Pre-release (v0.3.2-rc.1):

  • ghcr.io/jedarden/miroir:v0.3.2-rc.1 only (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)