Files
LogiFlow/.github/workflows/rust.yml
T
LogiFlowandClaude Opus 5.5 600627c632 feat(rust) : serveur réécrit en Rust, Node retiré ; Calendrier en tête du menu (#571)
- Serveur Rust (server-rs/, axum + sqlx) : les 148 adresses de l'API,
  l'interface, les migrations de démarrage et les tâches de fond ; même
  comportement que Node (banc : 2027 cas, 0 écart hors écarts déclarés
  USERS-02, RAPPRO-21, R4, R5).
- Node retiré : server/, dépendances serveur, image Docker sans Node
  (51 Mo), docker-compose à un seul service applicatif.
- R4 : écritures d'un autre site refusées (Sec-Fetch-Site / Origin).
- R5 : « aujourd'hui » et sauvegarde automatique à l'heure de Paris.
- R6 : mainteneur dans .github/CODEOWNERS.
- Menu latéral : Accueil puis Calendrier en tête.
- Plan et état : docs/PLAN-MIGRATION-RUST.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ke2qyS8rgacP3ap5iezDbM
2026-10-15 20:31:14 +02:00

89 lines
2.4 KiB
YAML

name: Serveur Rust
# Contrôles du serveur Rust, contrôle de type et construction de l'interface, et
# banc de comparaison avec le serveur Node de référence (scripts/bench/README.md)
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
checks:
runs-on: ubuntu-latest
defaults:
run:
working-directory: server-rs
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: server-rs
- name: Mise en forme
run: cargo fmt --check
- name: Clippy
run: cargo clippy --all-targets --locked -- -D warnings
- name: Tests
run: cargo test --locked
client:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Dépendances
run: npm ci
- name: Contrôle de type
run: npm run check
- name: Construction de l'interface
run: npx vite build
bench:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: logiflow_admin
POSTGRES_PASSWORD: bench
POSTGRES_DB: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U logiflow_admin"
--health-interval 5s
--health-timeout 5s
--health-retries 20
env:
BENCH_PG_URL: postgres://logiflow_admin:bench@localhost:5432
steps:
- uses: actions/checkout@v4
with:
# Le serveur Node de référence est construit depuis un commit passé
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: server-rs
- name: Dépendances
run: npm ci
- name: Serveur Node de référence (REFERENCE_NODE_COMMIT)
run: scripts/bench/reference-node.sh
- name: Serveur Rust
run: cargo build --release --locked --manifest-path server-rs/Cargo.toml
- name: Base modèle du banc
run: scripts/bench/setup.sh
- name: Banc Node de référence contre Rust
run: npx tsx scripts/bench/compare.ts