Files
brackets/.gitea/workflows/test-release.yaml
T
WilliamSoderberg Verified 37cea7c097
CI/CD Pipeline / test-backend (push) Failing after 35s
CI/CD Pipeline / test-frontend (push) Successful in 20s
CI/CD Pipeline / build-docker (backend) (push) Has been skipped
CI/CD Pipeline / build-docker (frontend) (push) Has been skipped
Fixed test flow
2026-07-11 19:04:48 +02:00

68 lines
1.7 KiB
YAML

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
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 }}