3 Commits

Author SHA1 Message Date
Gan, Jimmy 10e48461d4 fix(ci): use Gitea container IP for checkout in claude-dev workflow
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 16m58s
Replaces 'gitea:3000' with '172.21.0.4:3000' to bypass DNS
resolution issues in act job containers. Also removed --dns
override from runner-config.yaml which was breaking Docker's
embedded DNS and container name resolution.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:52:34 +08:00
Gan, Jimmy d29c2c3a13 Validate cached venv by testing pytest, not just python binary
The cached venv's python binary may work but tool symlinks (pytest, etc.)
break when restored in a different environment. Test pytest specifically
to catch this.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:50:31 +08:00
Gan, Jimmy 951d68f022 Validate cached venv before use (test python binary works)
Deploy Dashboard (Main) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Main) / Deploy to Production (push) Has been cancelled
Deploy Dashboard (Main) / Backend Tests (push) Has been cancelled
Cached venvs from NAS Docker containers have broken symlinks when
restored on the VPS host, causing "pytest: command not found".
Add a functional check that venv/bin/python runs before accepting
the cache as valid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:42:24 +08:00
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
- name: Checkout repository - name: Checkout repository
run: | run: |
if [ ! -d .git ]; then if [ ! -d .git ]; then
git clone --branch "${GITHUB_REF_NAME}" --depth=1 "http://gitea:3000/${GITHUB_REPOSITORY}.git" . git clone --branch "${GITHUB_REF_NAME}" --depth=1 "http://172.21.0.4:3000/${GITHUB_REPOSITORY}.git" .
fi fi
- name: Resolve image tags - name: Resolve image tags
+1 -1
View File
@@ -55,7 +55,7 @@ jobs:
cd dashboard/backend cd dashboard/backend
if [ "${{ steps.cache-python.outputs.cache-hit }}" = "true" ]; then if [ "${{ steps.cache-python.outputs.cache-hit }}" = "true" ]; then
echo "Restoring venv from cache $CACHE_KEY..." echo "Restoring venv from cache $CACHE_KEY..."
if cp -a $CACHE_DIR/venv . && [ -f venv/bin/activate ]; then if cp -a $CACHE_DIR/venv . && [ -f venv/bin/activate ] && venv/bin/python -m pytest --version >/dev/null 2>&1; then
echo "Cache restored successfully" echo "Cache restored successfully"
else else
echo "Cache corrupted, installing fresh..." echo "Cache corrupted, installing fresh..."