ci: add DQN evaluation step and skip builds on CI-only changes
Add evaluate_baseline after DQN training smoke test so we get Sharpe, MaxDD, WinRate, and ProfitFactor in the pipeline artifacts. Remove .gitlab-ci.yml from changes: filters so CI-config-only pushes no longer trigger the full check→test→compile→build pipeline (~20 min saved). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
# Runs on ci-build pool (L4, CUDA 8.9, scale-to-zero), linker: clang+lld
|
||||
# CI builder image: CUDA 12.4 + Rust 1.89 + protoc + sccache (hosted on Scaleway CR)
|
||||
# Service images: pushed to Scaleway Container Registry (Kaniko)
|
||||
# Note: .gitlab-ci.yml itself is NOT in changes: filters — CI-only edits skip build
|
||||
|
||||
# Ensure pipeline is always created — individual job rules handle filtering.
|
||||
# Without this, GitLab CE may silently drop push pipelines when changes:
|
||||
@@ -171,7 +172,6 @@ check:
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- .gitlab-ci.yml
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
@@ -207,7 +207,6 @@ test:
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- .gitlab-ci.yml
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
@@ -260,7 +259,6 @@ compile-services:
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
# Detect GPU compute capability and partition sccache per architecture
|
||||
- export CUDA_COMPUTE_CAP=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader | head -1 | tr -d '.')
|
||||
@@ -333,7 +331,6 @@ compile-services:
|
||||
- infra/docker/Dockerfile.web-gateway-runtime
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- .gitlab-ci.yml
|
||||
before_script:
|
||||
- mkdir -p /kaniko/.docker
|
||||
- >-
|
||||
@@ -465,7 +462,20 @@ train-validate-dqn:
|
||||
--data-dir /mnt/training-data/futures-baseline
|
||||
--output-dir ${CI_PROJECT_DIR}/output
|
||||
--max-steps-per-epoch 50
|
||||
- echo "DQN validation passed"
|
||||
- echo "=== DQN training complete, running evaluation ==="
|
||||
- /usr/local/bin/evaluate_baseline
|
||||
--model dqn
|
||||
--models-dir ${CI_PROJECT_DIR}/output
|
||||
--data-dir /mnt/training-data/futures-baseline
|
||||
--output ${CI_PROJECT_DIR}/output/dqn_eval_report.json
|
||||
--symbol ES.FUT
|
||||
- echo "DQN validation + evaluation passed"
|
||||
- cat ${CI_PROJECT_DIR}/output/dqn_eval_report.json
|
||||
artifacts:
|
||||
paths:
|
||||
- output/dqn_eval_report.json
|
||||
when: always
|
||||
expire_in: 30 days
|
||||
|
||||
train-validate-tft:
|
||||
extends: .train-validate-base
|
||||
|
||||
Reference in New Issue
Block a user