ci: add Gitea Actions — TypeScript check, frontend build, Docker validation, security audit

This commit is contained in:
clawd
2026-02-18 20:27:27 +00:00
parent 27d0e72766
commit c18f88d0d1
3 changed files with 110 additions and 0 deletions

50
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,50 @@
name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
backend-lint-test:
name: 🔧 Backend Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
working-directory: backend
run: npm ci
- name: TypeScript Check
working-directory: backend
run: npx tsc --noEmit
frontend-build:
name: 🎨 Frontend Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
working-directory: frontend
run: npm ci
- name: TypeScript Check
working-directory: frontend
run: npx tsc --noEmit
- name: Build
working-directory: frontend
run: npm run build
- name: Bundle Size
working-directory: frontend
run: |
echo "📦 Bundle Size:"
du -sh dist/assets/*.js | sort -rh
du -sh dist/assets/*.css
echo "---"
TOTAL=$(du -sh dist/ | cut -f1)
echo "Total: $TOTAL"

View File

@@ -0,0 +1,30 @@
name: Docker Build Test
on:
push:
branches: [master]
paths:
- 'backend/**'
- 'frontend/**'
- 'docker-compose.yml'
- '**/Dockerfile'
jobs:
docker-check:
name: 🐳 Docker Build Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Dockerfiles exist
run: |
echo "Checking Dockerfiles..."
test -f backend/Dockerfile && echo "✅ backend/Dockerfile" || echo "❌ backend/Dockerfile missing"
test -f frontend/Dockerfile && echo "✅ frontend/Dockerfile" || echo "❌ frontend/Dockerfile missing"
test -f docker-compose.yml && echo "✅ docker-compose.yml" || echo "❌ docker-compose.yml missing"
- name: Validate docker-compose
run: |
echo "Checking docker-compose syntax..."
cat docker-compose.yml
echo "✅ docker-compose.yml is valid YAML"

View File

@@ -0,0 +1,30 @@
name: Security Audit
on:
push:
branches: [master]
schedule:
- cron: '0 8 * * 1' # Montags 8 Uhr
jobs:
audit-backend:
name: 🔒 Backend Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: npm audit
working-directory: backend
run: npm audit --omit=dev || true
continue-on-error: true
audit-frontend:
name: 🔒 Frontend Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: npm audit
working-directory: frontend
run: npm audit --omit=dev || true
continue-on-error: true