Files
mitm-webserver/.gitea/workflows/build.yaml
malmert dc76daf217
Some checks failed
Build and Deploy MITM Webserver / build (push) Successful in 10s
Build and Deploy MITM Webserver / traffic_target (push) Has been cancelled
test runner traffic target
2026-03-08 17:40:07 +01:00

80 lines
2.0 KiB
YAML

name: Build and Deploy MITM Webserver
on:
push:
branches:
- main
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout code
run: |
cd /opt/mitm-webserver
git reset --hard origin/main
git pull
- name: Build Frontend
run: |
cd /opt/mitm-webserver/frontend
npm install
npm run build
- name: Setup Backend
run: |
cd /opt/mitm-webserver/backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
deactivate
- name: Restart Backend
run: |
sudo systemctl restart mitm-backend
traffic_target:
runs-on: traffic-target
steps:
- name: Update target checkout and detect script changes
shell: bash
run: |
set -euo pipefail
APP_DIR="/opt/mitm-webserver"
TARGET_SCRIPT="tools/traffic-target.sh"
RESTART_MARKER="/tmp/traffic-target-restart-required"
cd "$APP_DIR"
OLD_REV="$(git rev-parse HEAD)"
git fetch origin main
NEW_REV="$(git rev-parse origin/main)"
if git diff --quiet "$OLD_REV" "$NEW_REV" -- "$TARGET_SCRIPT"; then
rm -f "$RESTART_MARKER"
echo "traffic-target.sh unchanged"
else
touch "$RESTART_MARKER"
echo "traffic-target.sh changed"
fi
git checkout main
git merge --ff-only origin/main
- name: Restart traffic target daemon when needed
shell: bash
run: |
set -euo pipefail
RESTART_MARKER="/tmp/traffic-target-restart-required"
TARGET_SERVICE="mitm-traffic-target"
if [ -f "$RESTART_MARKER" ]; then
systemctl restart "$TARGET_SERVICE"
rm -f "$RESTART_MARKER"
echo "Restarted ${TARGET_SERVICE}"
else
echo "No restart required"
fi