diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 8eeb6b7b..07e848c1 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -26,31 +26,37 @@ on: # github.com / du miroir gitea.com depuis le runner self-hosted. jobs: - test: + # Le job tourne DIRECTEMENT dans le conteneur (clé "container", standard + # Gitea/GitHub Actions) plutôt que de lancer un `docker run` imbriqué + # depuis le runner — un essai précédent (docker run -v "$PWD":/app ...) + # échouait avec "Could not open requirements file" : sur un runner qui + # exécute déjà le job dans un conteneur (Docker-outside-of-Docker), "$PWD" + # ne correspond à aucun chemin que le démon Docker de l'HÔTE peut monter, + # /app se retrouvait donc vide dans le conteneur imbriqué. Avec "container", + # le checkout dépose directement les fichiers dans le système de fichiers + # du conteneur du job, aucun montage de volume à faire soi-même. + test-python: runs-on: ubuntu-latest + container: + image: python:3.13-slim steps: - uses: actions/checkout@v4 - - # Conteneurs officiels plutôt que actions/setup-python|setup-node du - # marketplace — même logique que le reste de ce fichier (éviter une - # dépendance à la disponibilité de github.com/du miroir gitea.com - # depuis le runner self-hosted), et le runner n'a pas besoin - # d'installer quoi que ce soit d'autre que Docker, déjà requis pour - # build-and-push. + - name: Installer les dépendances Python (dev) + run: pip install --quiet -r requirements-dev.txt - name: Tests Python (pytest) - run: | - docker run --rm -v "$PWD":/app -w /app python:3.13-slim sh -c " - pip install --quiet -r requirements-dev.txt && - python -m pytest tests/ -q - " + run: python -m pytest tests/ -q + test-js: + runs-on: ubuntu-latest + container: + image: node:20-slim + steps: + - uses: actions/checkout@v4 - name: Tests JS (node:test — logique pure de static/js/play/, voir le plan de modularisation) - run: | - docker run --rm -v "$PWD":/app -w /app node:20-slim \ - node --test static/js/play/__tests__/*.test.js + run: node --test static/js/play/__tests__/*.test.js build-and-push: - needs: test + needs: [test-python, test-js] if: gitea.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: