From 58e09a52ac6fd0a629d07c9d6ef9feea419c9dc6 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sun, 29 Mar 2026 22:44:08 +0200 Subject: [PATCH] fix(ci): train-dqn uses compile-and-train (no pre-built binary dependency) Was referencing training-pipeline which needs binary-tag for pre-built binaries from GitLab packages. Now references compile-and-train which compiles from source then trains. No stale binary risk. Co-Authored-By: Claude Opus 4.6 (1M context) --- infra/k8s/argo/train-dqn-template.yaml | 71 ++++++-------------------- 1 file changed, 15 insertions(+), 56 deletions(-) diff --git a/infra/k8s/argo/train-dqn-template.yaml b/infra/k8s/argo/train-dqn-template.yaml index 7885f1560..cc7c4203c 100644 --- a/infra/k8s/argo/train-dqn-template.yaml +++ b/infra/k8s/argo/train-dqn-template.yaml @@ -1,11 +1,11 @@ -# Train DQN: fetch binaries → hyperopt → train → evaluate → upload. +# Train DQN: compile → hyperopt → train → evaluate → upload. # # Usage: -# argo submit --from=wftmpl/train-dqn -p binary-tag=dev-abc1234 -# argo submit --from=wftmpl/train-dqn -p binary-tag=latest -p hyperopt-trials=50 +# argo submit --from=wftmpl/train-dqn +# argo submit --from=wftmpl/train-dqn -p commit-ref=my-branch # -# Thin wrapper around training-pipeline (templateRef) with DQN-tuned defaults. -# DQN has a 28D hyperopt parameter space — more trials recommended. +# Thin wrapper around compile-and-train with DQN-tuned defaults. +# Compiles from source (no pre-built binary dependency). --- apiVersion: argoproj.io/v1alpha1 kind: WorkflowTemplate @@ -15,18 +15,14 @@ metadata: labels: app.kubernetes.io/name: train-dqn app.kubernetes.io/part-of: foxhunt - app.kubernetes.io/component: gpu-test spec: entrypoint: pipeline serviceAccountName: argo-workflow podMetadata: labels: app.kubernetes.io/part-of: foxhunt - app.kubernetes.io/component: gpu-test - app.kubernetes.io/component: training + app.kubernetes.io/component: compile-and-train securityContext: - runAsUser: 1000 - runAsGroup: 1000 fsGroup: 1000 ttlStrategy: secondsAfterCompletion: 3600 @@ -36,16 +32,16 @@ spec: parameters: - name: model value: dqn - - name: binary-tag - value: latest + - name: commit-ref + value: main - name: gpu-pool value: ci-training-h100 - name: hyperopt-trials - value: "50" # 24D param space needs full exploration + value: "50" - name: hyperopt-epochs - value: "20" # 20 epochs per trial with early stopping + value: "20" - name: train-epochs - value: "200" # matches dqn-production.toml + value: "200" - name: symbol value: ES.FUT - name: data-dir @@ -67,47 +63,10 @@ spec: - name: cuda-compute-cap value: "90" - volumes: - - name: training-data - persistentVolumeClaim: - claimName: training-data-pvc - readOnly: true - - volumeClaimTemplates: - - metadata: - name: workspace - spec: - accessModes: ["ReadWriteOnce"] - storageClassName: scw-bssd - resources: - requests: - storage: 5Gi - templates: - name: pipeline - dag: - tasks: - - name: fetch-binary + steps: + - - name: compile-and-train templateRef: - name: training-pipeline - template: fetch-binary - - name: hyperopt - templateRef: - name: training-pipeline - template: hyperopt - dependencies: [fetch-binary] - - name: train-best - templateRef: - name: training-pipeline - template: train-best - dependencies: [hyperopt] - - name: evaluate - templateRef: - name: training-pipeline - template: evaluate - dependencies: [train-best] - - name: upload-results - templateRef: - name: training-pipeline - template: upload-results - dependencies: [evaluate] + name: compile-and-train + template: pipeline