07.11 — CI

07.11 — CI#

Trois workflows : main_ci.yml (rapide, lint + typecheck), dev_ci.yml (idem pour branches dev/feature/fix), e2e.yml (manuel, service Redis + Firefox).

Vue d’ensemble#

WorkflowTriggerPlateformeEffet
main_ci.ymlpush/PR mainubuntu + windows × py 3.14make check-coding-style (mypy + ruff). Pas de browser.
dev_ci.ymlpush dev / feature/_ / fix/_ubuntu × py 3.14id., mais Ubuntu seul
e2e.ymlworkflow_dispatch (manuel)ubuntu + service Redis + Firefox + geckodriverRun complet de la suite e2e. Upload .screenshots/, .ocarina_logs/, .reports/.

main_ci.yml#

name: Main branch CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  workflow_dispatch:

defaults:
  run:
    shell: bash

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        python-version: ["3.14"]
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-python@v6
        with: { python-version: "3.14" }
      - uses: actions/cache@v5
        with:
          path: .venv
          key: venv-${{ runner.os }}-py3.14-${{ hashFiles('pyproject.toml') }}
      - name: Install
        run: make install-on-ci
      - name: Check coding style
        run: |
          . .venv/bin/activate
          make check-coding-style
  1. Matrice OS : ubuntu + windows. Vérifie la portabilité Python du code projet.
  2. Pas de browser : on lance juste make check-coding-style (= mypy + ruff). Rapide, pas besoin de Selenium / Redis / OTP.
  3. Cache .venv : reuse entre runs.

dev_ci.yml#

on:
  push:
    branches: [dev, "feature/**", "fix/**"]
  workflow_dispatch:

jobs:
  test:
    runs-on: ubuntu-latest
    # … identique à main_ci.yml, juste Ubuntu seul …

Identique au main_ci.yml mais Ubuntu seul (Windows ne run que sur main).