fix: update ci

This commit is contained in:
AdamThomas
2026-09-29 18:31:08 +02:00
parent 26a10cd595
commit 0be5daa89c
+8 -69
View File
@@ -1,6 +1,5 @@
# CI/CD Gitea Actions : tests à chaque push, puis sur `main` seulement, # CI/CD Gitea Actions : à chaque push sur `main`, build des images
# build des images (registre de conteneurs intégré à Gitea) et déploiement # (registre de conteneurs intégré à Gitea) puis déploiement SSH sur le VPS.
# SSH sur le VPS.
# #
# Nécessite un runner Gitea Actions (act_runner, exécuteur "docker") attaché # Nécessite un runner Gitea Actions (act_runner, exécuteur "docker") attaché
# au dépôt ou à l'organisation. # au dépôt ou à l'organisation.
@@ -27,72 +26,14 @@ name: ci-cd
on: on:
push: push:
branches: ['**'] branches: [main]
concurrency:
group: ci-cd-${{ gitea.ref }}
cancel-in-progress: false
jobs: jobs:
backend-test:
runs-on: ubuntu-latest
container: python:3.12-slim
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: benevoles
POSTGRES_PASSWORD: benevoles
POSTGRES_DB: benevoles_test
ports:
- 5432:5432
env:
TEST_DATABASE_URL: postgresql+psycopg://benevoles:benevoles@postgres:5432/benevoles_test
DATABASE_URL: postgresql+psycopg://benevoles:benevoles@postgres:5432/benevoles_test
steps:
- name: Installer git et node
run: apt-get update && apt-get install -y --no-install-recommends git nodejs
- uses: actions/checkout@v4
- name: Installer uv
run: pip install --no-cache-dir uv
- name: Installer les dépendances
working-directory: backend
run: uv sync
- name: Lint
working-directory: backend
run: uv run ruff check .
- name: Migrer la base de test
working-directory: backend
run: uv run alembic upgrade head
- name: Vérifier migration ↔ modèle
working-directory: backend
run: uv run alembic check
- name: Tests
working-directory: backend
run: uv run pytest -q
frontend-test:
runs-on: ubuntu-latest
container: node:20-alpine
steps:
- name: Installer git et node
run: apk add --no-cache git nodejs
- uses: actions/checkout@v4
- name: Installer les dépendances
working-directory: frontend
run: npm ci
- name: Typecheck
working-directory: frontend
run: npm run typecheck
- name: Lint
working-directory: frontend
run: npm run lint
- name: Build
working-directory: frontend
run: npm run build
- name: Smoke test
working-directory: frontend
run: npm run smoke
build-backend: build-backend:
needs: backend-test
if: gitea.ref == 'refs/heads/main'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: docker:27 container: docker:27
steps: steps:
@@ -109,8 +50,7 @@ jobs:
docker push "$IMAGE:latest" docker push "$IMAGE:latest"
build-frontend: build-frontend:
needs: frontend-test needs: build-backend # séquentiel pour ne pas saturer le CPU
if: gitea.ref == 'refs/heads/main'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: docker:27 container: docker:27
steps: steps:
@@ -133,7 +73,6 @@ jobs:
deploy: deploy:
needs: [build-backend, build-frontend] needs: [build-backend, build-frontend]
if: gitea.ref == 'refs/heads/main'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: alpine:3.20 container: alpine:3.20
steps: steps: