Merge branch 'main' into dev
Deploy Dashboard (Main) / Backend Tests (push) Failing after 32s
Deploy Dashboard (Main) / Build Main Image (push) Has been skipped
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m8s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 53s
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 5s
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m34s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 0s

# Conflicts:
#	.gitea/workflows/deploy-dev.yml
#	.gitea/workflows/deploy.yml
This commit is contained in:
Gan, Jimmy
2026-07-07 15:50:38 +08:00
86 changed files with 39 additions and 47746 deletions
+17 -15
View File
@@ -169,11 +169,8 @@ jobs:
run: |
set -e
echo "Building on VPS (SSD)..."
CACHE_ARG=""
if podman image exists nas-dashboard-dev:latest 2>/dev/null; then
CACHE_ARG="--cache-from nas-dashboard-dev:latest"
fi
podman build $CACHE_ARG -t nas-dashboard-dev:latest dashboard/
# Podman caches layers automatically; no --cache-from needed
podman build -t nas-dashboard-dev:latest dashboard/
- name: Transfer image to NAS
run: |
@@ -190,6 +187,12 @@ jobs:
needs: [build-image-dev, frontend-tests]
env:
SECRET_KEY: test-secret-key-for-ci-environment-32chars-minimum
container:
volumes:
- /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker
- /var/packages/ContainerManager/target/usr/bin/docker-compose:/usr/lib/docker/cli-plugins/docker-compose
- /volume1/docker/nas-dashboard:/volume1/docker/nas-dashboard
steps:
- name: Checkout repository
run: |
@@ -210,24 +213,23 @@ jobs:
GITEA_DB_PASSWORD: ${{ secrets.GITEA_DB_PASSWORD }}
run: |
set -u
DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker"
COMPOSE="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker-compose"
DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker"
COMPOSE="/usr/lib/docker/cli-plugins/docker-compose"
NAS_VOL="/volume1/docker/nas-dashboard"
# Sync compose file to NAS
ssh nasts "mkdir -p $NAS_VOL"
scp dashboard/docker-compose.dev.yml "nasts:$NAS_VOL/docker-compose.dev.yml"
# Sync compose file to NAS (already done in previous step, just in case)
mkdir -p $NAS_VOL
# Stop existing container if running
$COMPOSE -f docker-compose.dev.yml -p nas-dashboard-dev down 2>/dev/null || true
$COMPOSE -f $NAS_VOL/docker-compose.dev.yml -p nas-dashboard-dev down 2>/dev/null || true
# Ensure network exists (create only if it doesn't exist)
# Ensure network exists
if ! $DOCKER network inspect nas-dashboard_internal >/dev/null 2>&1; then
$DOCKER network create nas-dashboard_internal
fi
# Deploy
ssh nasts "cd $NAS_VOL && GITEA_TOKEN=$GITEA_TOKEN SECRET_KEY=$SECRET_KEY /volume1/@appstore/ContainerManager/usr/bin/docker-compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never" 2>&1 || true
cd $NAS_VOL && GITEA_TOKEN=$GITEA_TOKEN SECRET_KEY=$SECRET_KEY $COMPOSE -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never 2>&1 || true
if ! $DOCKER container inspect nas-dashboard-dev >/dev/null 2>&1; then
echo "Compose failed to create container..."
@@ -244,7 +246,7 @@ jobs:
- name: Wait for container to be healthy
run: |
DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker"
DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker"
echo "Waiting for container to be healthy..."
for i in {1..30}; do
STATUS=$($DOCKER inspect --format='{{.State.Health.Status}}' nas-dashboard-dev 2>/dev/null || echo "starting")
@@ -264,7 +266,7 @@ jobs:
- name: Run smoke tests
run: |
DOCKER="ssh nasts /volume1/@appstore/ContainerManager/usr/bin/docker"
DOCKER="/volume1/@appstore/ContainerManager/usr/bin/docker"
echo "=== Running smoke tests via docker exec ==="
# Test 1: Health check