feat(chat): bouton emoji dans le composer #997
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # Annule le run précédent sur la même branche si un nouveau push arrive | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| # Le job CI ne fait que lire les sources et exécuter les tests. Aucun besoin | |
| # d'écrire au repo ou de toucher aux secrets autres que le GITHUB_TOKEN par | |
| # défaut. Permission minimale pour réduire la surface en cas d'injection | |
| # (scénario Megalodon : payload base64 dans yaml qui exfiltre le GITHUB_TOKEN). | |
| permissions: | |
| contents: read | |
| jobs: | |
| # ── 1. nodyx-core — TypeScript + Vitest ──────────────────────────────────── | |
| test-node: | |
| name: "nodyx-core — typecheck + tests" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Setup Node.js 22 | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| cache-dependency-path: nodyx-core/package-lock.json | |
| - name: Install dependencies | |
| working-directory: nodyx-core | |
| run: npm ci | |
| - name: TypeScript — typecheck | |
| working-directory: nodyx-core | |
| run: npx tsc --noEmit | |
| - name: Vitest — 181 tests attendus | |
| working-directory: nodyx-core | |
| # Valeur factice, requise par le bootstrap backend qui refuse de | |
| # démarrer sans JWT_SECRET >= 32 chars. La prod utilise son propre | |
| # secret dans son .env, jamais dans le repo. Cette chaîne n'a | |
| # aucun privilège : container CI éphémère, aucune DB derrière, | |
| # aucun JWT forgé avec ça ne sera valide ailleurs que dans le | |
| # runner GitHub jetable. | |
| env: | |
| JWT_SECRET: CI_PLACEHOLDER_NOT_A_REAL_SECRET_safe_to_be_public | |
| NODE_ENV: test | |
| run: npm test | |
| # ── 2. nodyx-frontend — Svelte typecheck + build ─────────────────────────── | |
| check-frontend: | |
| name: "nodyx-frontend — typecheck + build" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Setup Node.js 22 | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| cache-dependency-path: nodyx-frontend/package-lock.json | |
| - name: Install dependencies | |
| working-directory: nodyx-frontend | |
| run: npm ci | |
| - name: Svelte — typecheck (svelte-check) | |
| working-directory: nodyx-frontend | |
| env: | |
| PUBLIC_API_URL: http://localhost:3000/api/v1 | |
| PUBLIC_DIRECTORY_URL: https://nodyx.org | |
| PUBLIC_SIGNET_URL: '' | |
| PUBLIC_TURN_URL: '' | |
| PUBLIC_TURN_USERNAME: '' | |
| PUBLIC_TURN_CREDENTIAL: '' | |
| PUBLIC_GIPHY_KEY: '' | |
| PUBLIC_TENOR_KEY: '' | |
| PRIVATE_API_SSR_URL: 'http://localhost:3000' | |
| run: npm run check | |
| - name: SvelteKit — build production | |
| working-directory: nodyx-frontend | |
| env: | |
| PUBLIC_API_URL: http://localhost:3000/api/v1 | |
| PUBLIC_DIRECTORY_URL: https://nodyx.org | |
| PUBLIC_SIGNET_URL: '' | |
| PUBLIC_TURN_URL: '' | |
| PUBLIC_TURN_USERNAME: '' | |
| PUBLIC_TURN_CREDENTIAL: '' | |
| PUBLIC_GIPHY_KEY: '' | |
| PUBLIC_TENOR_KEY: '' | |
| PRIVATE_API_SSR_URL: 'http://localhost:3000' | |
| run: npm run build | |
| # ── 3. nodyx-p2p — Rust build + tests ───────────────────────────────────── | |
| test-rust: | |
| name: "nodyx-p2p — cargo build + tests" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Rust toolchain (stable, depuis rust-toolchain.toml) | |
| uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable @ 2026-XX | |
| - name: Cache Rust (registry + target) | |
| uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| with: | |
| workspaces: nodyx-p2p | |
| - name: cargo build -p nodyx-server | |
| working-directory: nodyx-p2p | |
| run: cargo build -p nodyx-server | |
| - name: cargo test -p nodyx-server — 18 tests attendus | |
| working-directory: nodyx-p2p | |
| run: cargo test -p nodyx-server |