WBS-7.9: improve snapshot admin run clarity
This commit is contained in:
@@ -21,6 +21,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
run: |
|
run: |
|
||||||
|
echo "[smoke] push-only snapshot admin workflow validation"
|
||||||
if [ -d .git ]; then
|
if [ -d .git ]; then
|
||||||
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
||||||
else
|
else
|
||||||
@@ -32,6 +33,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Setup Python Environment
|
- name: Setup Python Environment
|
||||||
run: |
|
run: |
|
||||||
|
echo "[smoke] prepare python venv"
|
||||||
VENV_BASE=/volume1/gitea/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")
|
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"
|
VENV="$VENV_BASE/$REQ_HASH"
|
||||||
@@ -44,7 +46,9 @@ jobs:
|
|||||||
echo "$VENV/bin" >> $GITHUB_PATH
|
echo "$VENV/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Validate Snapshot Admin Workflow
|
- 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.
|
# Manual dispatch gate: full workflow + web UI validation only.
|
||||||
validate-snapshot-admin-full:
|
validate-snapshot-admin-full:
|
||||||
@@ -53,6 +57,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
run: |
|
run: |
|
||||||
|
echo "[full] workflow_dispatch snapshot admin validation"
|
||||||
if [ -d .git ]; then
|
if [ -d .git ]; then
|
||||||
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
||||||
else
|
else
|
||||||
@@ -64,6 +69,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Setup Python Environment
|
- name: Setup Python Environment
|
||||||
run: |
|
run: |
|
||||||
|
echo "[full] prepare python venv"
|
||||||
VENV_BASE=/volume1/gitea/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")
|
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"
|
VENV="$VENV_BASE/$REQ_HASH"
|
||||||
@@ -76,16 +82,20 @@ jobs:
|
|||||||
echo "$VENV/bin" >> $GITHUB_PATH
|
echo "$VENV/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Validate Snapshot Admin Workflow
|
- 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
|
- 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
|
- name: Notify Run Result
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
STATUS="${{ job.status }}"
|
STATUS="${{ job.status }}"
|
||||||
echo "=== Snapshot Admin Web Validation ==="
|
echo "=== Snapshot Admin Full Validation ==="
|
||||||
echo "status: $STATUS"
|
echo "status: $STATUS"
|
||||||
echo "workflow validation: Temp/snapshot_admin_workflow_v1.json"
|
echo "workflow validation: Temp/snapshot_admin_workflow_v1.json"
|
||||||
echo "web validation: Temp/snapshot_admin_web_validation_v1.json"
|
echo "web validation: Temp/snapshot_admin_web_validation_v1.json"
|
||||||
|
|||||||
@@ -3,12 +3,18 @@ name: Snapshot Admin Deployment
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: snapshot-admin-deploy-main
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deploy-snapshot-admin:
|
deploy-snapshot-admin:
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
|
timeout-minutes: 20
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
run: |
|
run: |
|
||||||
|
echo "[deploy] checkout main for snapshot admin runtime"
|
||||||
if [ -d .git ]; then
|
if [ -d .git ]; then
|
||||||
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
git remote set-url origin http://x-access-token:${{ secrets.GITHUB_TOKEN }}@192.168.123.100:8418/KimJaeHyun/myfinance.git
|
||||||
else
|
else
|
||||||
@@ -20,6 +26,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Setup Python Environment
|
- name: Setup Python Environment
|
||||||
run: |
|
run: |
|
||||||
|
echo "[deploy] prepare python venv for snapshot admin launcher"
|
||||||
VENV_BASE=/volume1/gitea/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")
|
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"
|
VENV="$VENV_BASE/$REQ_HASH"
|
||||||
@@ -36,6 +43,7 @@ jobs:
|
|||||||
SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }}
|
SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }}
|
||||||
SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }}
|
SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }}
|
||||||
run: |
|
run: |
|
||||||
|
echo "[deploy] restart loopback service on 127.0.0.1:8787"
|
||||||
export ROOT_DIR="$PWD"
|
export ROOT_DIR="$PWD"
|
||||||
export SNAPSHOT_ADMIN_HOST=127.0.0.1
|
export SNAPSHOT_ADMIN_HOST=127.0.0.1
|
||||||
export SNAPSHOT_ADMIN_PORT=8787
|
export SNAPSHOT_ADMIN_PORT=8787
|
||||||
@@ -52,6 +60,7 @@ jobs:
|
|||||||
SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }}
|
SNAPSHOT_ADMIN_AUTH_USER: ${{ vars.SNAPSHOT_ADMIN_AUTH_USER }}
|
||||||
SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }}
|
SNAPSHOT_ADMIN_AUTH_PASSWORD: ${{ secrets.SNAPSHOT_ADMIN_AUTH_PASSWORD }}
|
||||||
run: |
|
run: |
|
||||||
|
echo "[deploy] verify local health and auth gate"
|
||||||
export ROOT_DIR="$PWD"
|
export ROOT_DIR="$PWD"
|
||||||
export SNAPSHOT_ADMIN_HOST=127.0.0.1
|
export SNAPSHOT_ADMIN_HOST=127.0.0.1
|
||||||
export SNAPSHOT_ADMIN_PORT=8787
|
export SNAPSHOT_ADMIN_PORT=8787
|
||||||
@@ -66,3 +75,4 @@ jobs:
|
|||||||
else
|
else
|
||||||
curl -fsS http://127.0.0.1:8787/api/state | python3 -c "import json,sys; print(json.load(sys.stdin)['version']['app'])"
|
curl -fsS http://127.0.0.1:8787/api/state | python3 -c "import json,sys; print(json.load(sys.stdin)['version']['app'])"
|
||||||
fi
|
fi
|
||||||
|
echo "[deploy] snapshot admin deploy verification complete"
|
||||||
|
|||||||
Reference in New Issue
Block a user