From 05ee10079ddf62c7b42c47d62d8872f8ca9e7129 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Mon, 22 Jun 2026 01:02:17 +0900 Subject: [PATCH] WBS-7.9: improve snapshot admin run clarity --- .gitea/workflows/snapshot_admin.yml | 18 ++++++++++++++---- .gitea/workflows/snapshot_admin_deploy.yml | 10 ++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/snapshot_admin.yml b/.gitea/workflows/snapshot_admin.yml index 93ac3e8..45ce4d3 100644 --- a/.gitea/workflows/snapshot_admin.yml +++ b/.gitea/workflows/snapshot_admin.yml @@ -21,6 +21,7 @@ jobs: 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 @@ -32,6 +33,7 @@ jobs: - 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" @@ -44,7 +46,9 @@ jobs: echo "$VENV/bin" >> $GITHUB_PATH - name: Validate Snapshot Admin Workflow - run: python3 tools/validate_snapshot_admin_workflow_v1.py + run: | + echo "[smoke] validate workflow only (no web UI, no deploy)" + python3 tools/validate_snapshot_admin_workflow_v1.py # Manual dispatch gate: full workflow + web UI validation only. validate-snapshot-admin-full: @@ -53,6 +57,7 @@ jobs: 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 @@ -64,6 +69,7 @@ jobs: - 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" @@ -76,16 +82,20 @@ jobs: echo "$VENV/bin" >> $GITHUB_PATH - name: Validate Snapshot Admin Workflow - run: python3 tools/validate_snapshot_admin_workflow_v1.py + run: | + echo "[full] validate workflow" + python3 tools/validate_snapshot_admin_workflow_v1.py - name: Validate Snapshot Admin Web UI - run: python3 tools/validate_snapshot_admin_web_v1.py + 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 Web Validation ===" + 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" diff --git a/.gitea/workflows/snapshot_admin_deploy.yml b/.gitea/workflows/snapshot_admin_deploy.yml index e8f9a38..93af115 100644 --- a/.gitea/workflows/snapshot_admin_deploy.yml +++ b/.gitea/workflows/snapshot_admin_deploy.yml @@ -3,12 +3,18 @@ name: Snapshot Admin Deployment on: workflow_dispatch: +concurrency: + group: snapshot-admin-deploy-main + cancel-in-progress: true + jobs: deploy-snapshot-admin: runs-on: self-hosted + timeout-minutes: 20 steps: - name: Checkout Code run: | + echo "[deploy] checkout main for snapshot admin runtime" 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 @@ -20,6 +26,7 @@ jobs: - name: Setup Python Environment run: | + echo "[deploy] prepare python venv for snapshot admin launcher" 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" @@ -36,6 +43,7 @@ jobs: SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }} SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }} run: | + echo "[deploy] restart loopback service on 127.0.0.1:8787" export ROOT_DIR="$PWD" export SNAPSHOT_ADMIN_HOST=127.0.0.1 export SNAPSHOT_ADMIN_PORT=8787 @@ -52,6 +60,7 @@ jobs: SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }} SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }} run: | + echo "[deploy] verify local health and auth gate" export ROOT_DIR="$PWD" export SNAPSHOT_ADMIN_HOST=127.0.0.1 export SNAPSHOT_ADMIN_PORT=8787 @@ -66,3 +75,4 @@ jobs: else curl -fsS http://127.0.0.1:8787/api/state | python3 -c "import json,sys; print(json.load(sys.stdin)['version']['app'])" fi + echo "[deploy] snapshot admin deploy verification complete"