name: Deploy on: push: branches: [master] paths-ignore: - '**.md' - 'LICENSE' - '.gitignore' - 'docs/**' concurrency: group: deploy cancel-in-progress: true jobs: deploy: runs-on: self-hosted steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' - name: Validate JS run: sh scripts/validate.sh - name: Build and deploy run: | set -e docker build -t meshcore-analyzer . docker rm -f meshcore-analyzer 2>/dev/null || true docker run -d \ --name meshcore-analyzer \ --restart unless-stopped \ -p 80:80 -p 443:443 -p 1883:1883 \ -v $HOME/meshcore-data:/app/data \ -v $HOME/meshcore-config.json:/app/config.json:ro \ -v $HOME/caddy-data:/data/caddy \ -v $HOME/meshcore-analyzer/Caddyfile:/etc/caddy/Caddyfile \ meshcore-analyzer echo "Deployed $(git rev-parse --short HEAD)"