c81e17f527
Multi-workflow with local-path storage + mismatchLabelKeys anti-affinity forces each workflow onto a different cluster node: - test: lint + pytest + vitest (node A) - build-1: scheduler, symbol-registry, ingestion, parser (node B) - build-2: extractor, aggregation, recommendation, risk (node C) - build-3: broker-adapter, lake-publisher, query-api, trading-engine, dashboard, superset (node D) - finalize: integration-test + github mirror (any available node)
53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
# Workflow 1: Lint and tests (node A)
|
|
when:
|
|
event: [push, pull_request]
|
|
|
|
steps:
|
|
lint-python:
|
|
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
|
|
commands:
|
|
- pip install ruff==0.15.10 --quiet
|
|
- ruff --version
|
|
- ruff check --output-format=concise .
|
|
backend_options:
|
|
kubernetes:
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 200m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 1000m
|
|
|
|
test-python:
|
|
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
|
|
commands:
|
|
- pip install -r requirements.txt --quiet
|
|
- pip install hypothesis --quiet
|
|
- pytest tests/ -x --tb=short -q --ignore=tests/integration
|
|
backend_options:
|
|
kubernetes:
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 1Gi
|
|
cpu: 2000m
|
|
|
|
test-frontend:
|
|
image: registry.celestium.life/dockerhub-cache/library/node:24-slim
|
|
commands:
|
|
- cd frontend
|
|
- npm ci
|
|
- npx vitest --run
|
|
backend_options:
|
|
kubernetes:
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 1Gi
|
|
cpu: 2000m
|