Add .gitea/workflows/test-release.yaml
CI/CD Pipeline / test-backend (release) Has been skipped
CI/CD Pipeline / test-frontend (release) Has been skipped
CI/CD Pipeline / build-docker (backend) (release) Successful in 26s
CI/CD Pipeline / build-docker (frontend) (release) Successful in 26s

This commit is contained in:
2026-07-11 18:25:30 +02:00 Unverified
parent 55a13934ef
commit 106c7d08c9
+67
View File
@@ -0,0 +1,67 @@
name: CI/CD Pipeline
on:
push:
branches: ['main'] # Runs tests on every push to main
release:
types: [published] # Runs builds only when a release is published
jobs:
# 1. Run tests on every push to main
test-backend:
if: github.event_name == 'push'
runs-on: ubuntu-latest
container: python:3.14-alpine
steps:
- uses: actions/checkout@v4
- name: Run Tests
run: |
cd backend
pip install -r requirements.txt
pytest
test-frontend:
if: github.event_name == 'push'
runs-on: ubuntu-latest
container: node:alpine
steps:
- uses: actions/checkout@v4
- name: Run Tests
run: |
cd frontend
npm ci
npm test -- run --exclude "**/*.live.test.ts"
# 2. Build Docker images only on release
build-docker:
if: github.event_name == 'release'
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
strategy:
matrix:
service: [backend, frontend]
steps:
- uses: actions/checkout@v4
- name: Log in to Registry
uses: docker/login-action@v3
with:
registry: git.stws.cc
username: ${{ github.actor }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: git.stws.cc/${{ github.repository }}/${{ matrix.service }}
tags: |
type=ref,event=tag
type=raw,value=latest
- name: Build and Push
uses: docker/build-push-action@v6
with:
context: ./${{ matrix.service }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}