Merge dev to main: Security improvements and comprehensive test infrastructure #39

Merged
jimmy merged 195 commits from dev into main 2026-04-08 01:42:27 +08:00
Showing only changes of commit 6db672a56e - Show all commits
+6 -16
View File
@@ -12,17 +12,12 @@ concurrency:
jobs: jobs:
deploy-dev: deploy-dev:
runs-on: nas runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
run: | uses: actions/checkout@v4
# Clone into a temp directory accessible by runner with:
WORK_DIR="/tmp/nas-tools-deploy-$$" ref: ${{ github.sha }}
rm -rf "$WORK_DIR"
git clone http://gitea:3000/jimmy/nas-tools.git "$WORK_DIR"
cd "$WORK_DIR"
git checkout ${{ github.sha }}
echo "WORK_DIR=$WORK_DIR" >> $GITHUB_ENV
- name: Warm mirror cache for base images - name: Warm mirror cache for base images
run: | run: |
set -u set -u
@@ -55,13 +50,12 @@ jobs:
- name: Build dev image - name: Build dev image
run: | run: |
cd $WORK_DIR
export DOCKER_API_VERSION=1.43 export DOCKER_API_VERSION=1.43
DOCKER_BUILDKIT=0 docker build --cache-from nas-dashboard-dev:latest -t nas-dashboard-dev:latest dashboard/ DOCKER_BUILDKIT=0 docker build --cache-from nas-dashboard-dev:latest -t nas-dashboard-dev:latest dashboard/
- name: Sync runtime compose file - name: Sync runtime compose file
run: | run: |
mkdir -p /volume1/docker/nas-dashboard mkdir -p /volume1/docker/nas-dashboard
cp $WORK_DIR/dashboard/docker-compose.dev.yml /volume1/docker/nas-dashboard/docker-compose.dev.yml cp dashboard/docker-compose.dev.yml /volume1/docker/nas-dashboard/docker-compose.dev.yml
- name: Deploy dev - name: Deploy dev
run: | run: |
set -euo pipefail set -euo pipefail
@@ -78,13 +72,9 @@ jobs:
fi fi
# Use a dedicated project name to avoid killing production (which is project 'nas-dashboard') # Use a dedicated project name to avoid killing production (which is project 'nas-dashboard')
# and deploy using the synced compose file. # and deploy using theSynced compose file.
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev down --remove-orphans || true docker compose -f docker-compose.dev.yml -p nas-dashboard-dev down --remove-orphans || true
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --build --pull never docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --build --pull never
# Connect to gitea_gitea network for database access (OPC_DB) # Connect to gitea_gitea network for database access (OPC_DB)
docker network connect gitea_gitea nas-dashboard-dev || true docker network connect gitea_gitea nas-dashboard-dev || true
- name: Cleanup
if: always()
run: |
rm -rf $WORK_DIR