From 32ec448ff2a0d83e88085e74fb69be9a1418c46b Mon Sep 17 00:00:00 2001 From: Sonderau Date: Fri, 16 Jan 2026 23:01:03 +0000 Subject: [PATCH] Transition to Gitea workflows --- .../.gitea/workflows/build-deploy.yml | 59 +++++++++++++++++++ .../{.github => .gitea}/workflows/deploy.yml | 0 os-league-tools.service | 35 +++++++++++ 3 files changed, 94 insertions(+) create mode 100644 os-league-tools-master/.gitea/workflows/build-deploy.yml rename os-league-tools-master/{.github => .gitea}/workflows/deploy.yml (100%) create mode 100644 os-league-tools.service diff --git a/os-league-tools-master/.gitea/workflows/build-deploy.yml b/os-league-tools-master/.gitea/workflows/build-deploy.yml new file mode 100644 index 00000000..69a0f4d4 --- /dev/null +++ b/os-league-tools-master/.gitea/workflows/build-deploy.yml @@ -0,0 +1,59 @@ +name: Build & Deploy OS League Tools + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ["cicd"] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build production bundle + run: npm run build + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: frontend-build + path: build/ + + deploy: + runs-on: [frontend] + needs: build + steps: + - name: Download artifact + uses: actions/download-artifact@v3 + with: + name: frontend-build + path: /home/sonder/deploy/os-league-tools-build + + - name: List deploy directory + run: ls -al /home/sonder/deploy/os-league-tools-build + + - name: Stop service + run: sudo systemctl stop os-league-tools || true + + - name: Deploy new build + run: | + sudo rm -rf /home/sonder/leagues-tools/os-league-tools-master/build + sudo cp -r /home/sonder/deploy/os-league-tools-build /home/sonder/leagues-tools/os-league-tools-master/build + sudo chown -R sonder:sonder /home/sonder/leagues-tools/os-league-tools-master/build + + - name: Start service + run: sudo systemctl start os-league-tools + + - name: Cleanup deploy artifacts + run: rm -rf /home/sonder/deploy/os-league-tools-build diff --git a/os-league-tools-master/.github/workflows/deploy.yml b/os-league-tools-master/.gitea/workflows/deploy.yml similarity index 100% rename from os-league-tools-master/.github/workflows/deploy.yml rename to os-league-tools-master/.gitea/workflows/deploy.yml diff --git a/os-league-tools.service b/os-league-tools.service new file mode 100644 index 00000000..9db6e43f --- /dev/null +++ b/os-league-tools.service @@ -0,0 +1,35 @@ +[Unit] +Description=OS League Tools - OSRS Leagues Hub +After=network.target +Wants=network-online.target + +[Service] +Type=simple +User=sonder +Group=sonder +WorkingDirectory=/home/sonder/leagues-tools/os-league-tools-master + +# Environment variables +Environment="NODE_ENV=production" +Environment="PORT=3000" +# Uncomment and set if you have a backend API: +# Environment="REACT_APP_RELDO_URL=http://localhost:8080" + +# Start the application (serves the pre-built static files) +ExecStart=/usr/bin/npm start + +# Restart policy +Restart=on-failure +RestartSec=10s + +# Logging +StandardOutput=journal +StandardError=journal +SyslogIdentifier=os-league-tools + +# Security hardening +NoNewPrivileges=true +PrivateTmp=true + +[Install] +WantedBy=multi-user.target