Files
timing/.gitea/workflows/build.yml
T
steinhelge 47cf983154
Build & Deploy / build-and-deploy (push) Failing after 2m42s
Route registry push via internal network to bypass Cloudflare
act_runner and Gitea run on the same host (alu/192.168.86.31),
so we override DNS in the runner to push directly over LAN.
This avoids Cloudflare's upload size limit (413 on 7.79GB image).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:03:56 +01:00

53 lines
1.4 KiB
YAML

name: Build & Deploy
on:
push:
branches: [master]
env:
REGISTRY: gitea.theriise.net
BACKEND_IMAGE: gitea.theriise.net/steinhelge/timing/backend
FRONTEND_IMAGE: gitea.theriise.net/steinhelge/timing/frontend
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Route registry traffic via internal network
run: echo "192.168.86.31 gitea.theriise.net" | sudo tee -a /etc/hosts
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build & push backend
uses: docker/build-push-action@v6
with:
context: ./backend
push: true
tags: ${{ env.BACKEND_IMAGE }}:latest
- name: Build & push frontend
uses: docker/build-push-action@v6
with:
context: ./frontend
push: true
tags: ${{ env.FRONTEND_IMAGE }}:latest
- name: Deploy to server
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_KEY }}
script: |
cd /srv/docker/apps/timing
docker compose pull
docker compose up -d