Merge dev to main: Security improvements and comprehensive test infrastructure #39
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user