647a26eefd
Merge to Main - Full Pipeline / Stage 1: Fast Gates (push) Failing after 3s
Merge to Main - Full Pipeline / Stage 2: Critical Gates (push) Has been skipped
Merge to Main - Full Pipeline / Stage 3: Integration Tests (push) Has been skipped
Merge to Main - Full Pipeline / Stage 4: Build and Package (push) Has been skipped
Merge to Main - Full Pipeline / Stage 5: Deploy to Production (push) Has been skipped
Merge to Main - Full Pipeline / Pipeline Summary (push) Successful in 1s
Reorganized .gitea/workflows/ to reduce duplication and noise: - Archived 7 unnecessary workflows to .archived/ subdirectory: - auto_backup_schedule.yml - backup.yml - calibration_backlog.yml - kis_data_collection.yml - qualitative_sell_strategy.yml - snapshot_admin.yml - wbs_9_3_null_policy_ci_gate.yml Active workflows (5 total): - merge-to-main.yml (SSOT 5-stage pipeline) - ci.yml (PR validation) - deploy-prod.yml (manual deployment) - fast-validation.yml (PR fast checks) - _common/build-and-test.yml (reusable component) Rationale: Phase 2 deployment infrastructure is complete. Legacy workflows are no longer needed, reducing CI/CD maintenance burden and improving clarity. Archived workflows remain available for reference if rollback is needed. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
112 lines
4.3 KiB
YAML
112 lines
4.3 KiB
YAML
name: Snapshot Admin Web Validation
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths:
|
|
- "src/quant_engine/snapshot_admin_server_v1.py"
|
|
- "src/quant_engine/snapshot_admin_store_v1.py"
|
|
- "tools/run_snapshot_admin_server_v1.py"
|
|
- "tools/validate_snapshot_admin_workflow_v1.py"
|
|
- "tools/validate_snapshot_admin_web_v1.py"
|
|
- "spec/15_account_snapshot_contract.yaml"
|
|
- "spec/18_settings_contract.yaml"
|
|
- "GatherTradingData.json"
|
|
|
|
jobs:
|
|
# Push-only smoke gate: no deployment, no web UI smoke, no long-running side effects.
|
|
validate-snapshot-admin-smoke:
|
|
if: github.event_name == 'push'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
run: |
|
|
echo "[smoke] push-only snapshot admin workflow validation"
|
|
if [ -d .git ]; then
|
|
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
|
else
|
|
git init
|
|
git remote add origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
|
fi
|
|
git fetch origin main --depth=1
|
|
git reset --hard FETCH_HEAD
|
|
|
|
- name: Setup Python Environment
|
|
run: |
|
|
echo "[smoke] prepare python venv"
|
|
VENV_BASE=/volume1/gitea/python_venv
|
|
REQ_HASH=$(md5sum tools/validate_snapshot_admin_workflow_v1.py 2>/dev/null | cut -d' ' -f1 || echo "snapshot-admin-default")
|
|
VENV="$VENV_BASE/$REQ_HASH"
|
|
if [ ! -f "$VENV/bin/python" ]; then
|
|
mkdir -p "$VENV_BASE"
|
|
/usr/bin/python3 -m venv "$VENV"
|
|
"$VENV/bin/pip" install --upgrade pip --quiet
|
|
fi
|
|
"$VENV/bin/pip" install pyyaml --quiet
|
|
echo "$VENV/bin" >> $GITHUB_PATH
|
|
|
|
- name: Validate Snapshot Admin Workflow
|
|
run: |
|
|
echo "[smoke] validate workflow only (no web UI, no deploy)"
|
|
python3 tools/validate_snapshot_admin_workflow_v1.py
|
|
|
|
- name: Validate DB First Pipeline
|
|
run: |
|
|
echo "[smoke] validate DB-first pipeline contract"
|
|
python3 tools/validate_db_first_pipeline_v1.py
|
|
|
|
# Manual dispatch gate: full workflow + web UI validation only.
|
|
validate-snapshot-admin-full:
|
|
if: github.event_name == 'workflow_dispatch'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
run: |
|
|
echo "[full] workflow_dispatch snapshot admin validation"
|
|
if [ -d .git ]; then
|
|
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
|
else
|
|
git init
|
|
git remote add origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
|
fi
|
|
git fetch origin main --depth=1
|
|
git reset --hard FETCH_HEAD
|
|
|
|
- name: Setup Python Environment
|
|
run: |
|
|
echo "[full] prepare python venv"
|
|
VENV_BASE=/volume1/gitea/python_venv
|
|
REQ_HASH=$(md5sum tools/validate_snapshot_admin_workflow_v1.py 2>/dev/null | cut -d' ' -f1 || echo "snapshot-admin-default")
|
|
VENV="$VENV_BASE/$REQ_HASH"
|
|
if [ ! -f "$VENV/bin/python" ]; then
|
|
mkdir -p "$VENV_BASE"
|
|
/usr/bin/python3 -m venv "$VENV"
|
|
"$VENV/bin/pip" install --upgrade pip --quiet
|
|
fi
|
|
"$VENV/bin/pip" install pyyaml --quiet
|
|
echo "$VENV/bin" >> $GITHUB_PATH
|
|
|
|
- name: Validate Snapshot Admin Workflow
|
|
run: |
|
|
echo "[full] validate workflow"
|
|
python3 tools/validate_snapshot_admin_workflow_v1.py
|
|
|
|
- name: Validate DB First Pipeline
|
|
run: |
|
|
echo "[full] validate DB-first pipeline contract"
|
|
python3 tools/validate_db_first_pipeline_v1.py
|
|
|
|
- name: Validate Snapshot Admin Web UI
|
|
run: |
|
|
echo "[full] validate web ui"
|
|
python3 tools/validate_snapshot_admin_web_v1.py
|
|
|
|
- name: Notify Run Result
|
|
if: always()
|
|
run: |
|
|
STATUS="${{ job.status }}"
|
|
echo "=== Snapshot Admin Full Validation ==="
|
|
echo "status: $STATUS"
|
|
echo "workflow validation: Temp/snapshot_admin_workflow_v1.json"
|
|
echo "web validation: Temp/snapshot_admin_web_validation_v1.json"
|