feat: fait reposer le deploiement sur des versions taguees
All checks were successful
Build and Publish Docker Image / Tests (push) Successful in 12m53s
Build and Publish Docker Image / Build App Image (push) Successful in 2m15s
Build and Publish Docker Image / Build Summary (push) Successful in 3s

This commit is contained in:
2026-07-31 15:28:11 +02:00
parent 1d138b8ca9
commit 5fc6f66955
6 changed files with 301 additions and 7 deletions

View File

@@ -13,8 +13,47 @@ env:
NAMESPACE: ${{ secrets.REGISTRY_NAMESPACE }}
jobs:
# Une image publiee est une image deployable : rien ne part au registre sans
# que la suite soit passee. Les tests golden se sautent d'eux-memes ici (le
# corpus PDF n'est pas versionne), le reste de la suite tourne.
test:
name: Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install backend dependencies
run: uv sync
- name: Lint
run: uv run ruff check .
- name: Backend tests
run: uv run pytest
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Frontend tests
working-directory: frontend
run: |
npm ci
npm test
build:
name: Build App Image
needs: [test]
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -78,14 +117,16 @@ jobs:
name: Build Summary
runs-on: ubuntu-latest
needs: [build]
if: always()
# Pas de `always()` : un resume qui annonce un succes apres un build rate
# est pire que pas de resume du tout.
steps:
- name: Build summary
run: |
echo "## 🐳 Docker Image Built Successfully"
echo ""
echo "- Registry: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/plesna-gerance"
echo "- Tags: latest, ${{ gitea.ref_name }}"
echo "- Ref: ${{ gitea.ref_name }}"
echo ""
echo "### 🚀 Deployment"
echo "docker compose up -d"
echo "Epingler la version dans .env (PLESNA_VERSION), puis :"
echo "docker compose pull && docker compose up -d"