ci: parallelize independent validation jobs
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Failing after 11s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 22s

This commit is contained in:
2026-07-12 11:14:58 +09:00
parent 4cd1cab466
commit 129e2ec2d7
+6 -12
View File
@@ -7,9 +7,11 @@ on:
branches: [ main ]
workflow_dispatch:
# Phase 3: Validator pipeline
# Main branch push validation moved to merge-to-main.yml
# This workflow runs validators only on PRs for feedback
# Validator pipeline. Independent validation jobs run in parallel.
concurrency:
group: quantengine-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
validate-core:
@@ -65,7 +67,7 @@ jobs:
fi
else
echo "=== npm install (최초 or lock 변경) ==="
npm install --quiet
npm ci --quiet
# 캐시 저장
mkdir -p "$CACHE_DIR"
cp -r node_modules "$CACHE_DIR/node_modules"
@@ -198,8 +200,6 @@ jobs:
validate-ui-and-storage:
runs-on: ubuntu-latest
needs: validate-core
if: needs.validate-core.result == 'success'
steps:
- name: Checkout Code
@@ -220,23 +220,17 @@ jobs:
/usr/bin/python3 -c 'import requests, yaml, openpyxl; print("Python dependencies: PASS")'
- name: Validate Snapshot Admin Web UI
if: needs.validate-core.result == 'success'
run: python3 tools/validate_snapshot_admin_web_v1.py
- name: Validate Storage Backend Contracts
if: needs.validate-core.result == 'success'
run: python3 -m pytest tests/unit/test_storage_backend_v1.py tests/unit/test_validate_kis_api_credentials_v1.py tests/unit/test_qualitative_sell_strategy_store_v1.py tests/unit/test_kis_api_client_v1.py tests/unit/test_snapshot_admin_store_v1.py tests/unit/test_snapshot_admin_web_v1.py -q
- name: Notify PR Result
if: always() && github.event_name == 'pull_request'
env:
CORE_RESULT: ${{ needs.validate-core.result }}
STAGE_RESULT: ${{ job.status }}
run: |
STATUS="$STAGE_RESULT"
if [ "$CORE_RESULT" != "success" ]; then
STATUS="failure"
fi
PR_NUM="${{ github.event.pull_request.number }}"
RUN_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
if [ "$STATUS" = "success" ]; then