ci(admin-web): Docker build & push vers registry Gitea + reusable tests #10

Closed
millianlmx wants to merge 6 commits from feature/cicd-admin-web into main
Owner

Résumé

Pipeline CI/CD complet pour construire l'image Docker admin-web et la pousser dans le registry Gitea.

Fichiers créés (7)

Fichier Rôle
admin-web/Dockerfile Build multi-stage Next.js standalone (node:22-bookworm-slim)
admin-web/.dockerignore Exclusions build
admin-web/.releaserc.json Config semantic-release (Gitea)
admin-web/version.json Seed version 0.1.0
admin-web/docker-compose.portainer.yml Stack Portainer pour déploiement
.github/workflows/admin-web-tests.yml Reusable workflow : tsc + vitest + playwright
.github/workflows/docker-admin-web.yml Pipeline : test → semantic-release → build push → deploy Portainer

Fichiers modifiés (3)

Fichier Changement
admin-web/next.config.ts Ajout output: 'standalone'
admin-web/package.json DevDeps semantic-release + script
.github/workflows/ci.yml Remplace job inline par appel admin-web-tests.yml

Pipeline

push main (admin-web/**) ou workflow_dispatch
         │
    ┌────▼────┐
    │ 1. TEST │  tsc --noEmit → vitest → playwright
    └────┬────┘
         │
    ┌────▼──────────┐
    │ 2. SEMANTIC    │  npx semantic-release → bump version.json
    │    RELEASE     │
    └────┬──────────┘
         │ released=true ?
    ┌────▼──────────────────┐
    │ 3. BUILD & PUSH       │  gitea.1000co.fr/millianlmx/tabatago-admin-web
    └────┬──────────────────┘
         │
    ┌────▼──────────┐
    │ 4. DEPLOY      │  Portainer API → stack tabatago-admin-web
    └────────────────┘

Secrets nécessaires

Déjà créés : CI_GITEA_TOKEN, DOCKER_USERNAME, DOCKER_PASSWORD, PORTAINER_ACCESS_TOKEN

Prérequis déploiement

Créer manuellement le stack tabatago-admin-web dans Portainer une première fois (contenu dans admin-web/docker-compose.portainer.yml).

## Résumé Pipeline CI/CD complet pour construire l'image Docker `admin-web` et la pousser dans le registry Gitea. ### Fichiers créés (7) | Fichier | Rôle | |---------|------| | `admin-web/Dockerfile` | Build multi-stage Next.js standalone (node:22-bookworm-slim) | | `admin-web/.dockerignore` | Exclusions build | | `admin-web/.releaserc.json` | Config semantic-release (Gitea) | | `admin-web/version.json` | Seed version 0.1.0 | | `admin-web/docker-compose.portainer.yml` | Stack Portainer pour déploiement | | `.github/workflows/admin-web-tests.yml` | Reusable workflow : tsc + vitest + playwright | | `.github/workflows/docker-admin-web.yml` | Pipeline : test → semantic-release → build push → deploy Portainer | ### Fichiers modifiés (3) | Fichier | Changement | |---------|------------| | `admin-web/next.config.ts` | Ajout `output: 'standalone'` | | `admin-web/package.json` | DevDeps semantic-release + script | | `.github/workflows/ci.yml` | Remplace job inline par appel `admin-web-tests.yml` | ### Pipeline ``` push main (admin-web/**) ou workflow_dispatch │ ┌────▼────┐ │ 1. TEST │ tsc --noEmit → vitest → playwright └────┬────┘ │ ┌────▼──────────┐ │ 2. SEMANTIC │ npx semantic-release → bump version.json │ RELEASE │ └────┬──────────┘ │ released=true ? ┌────▼──────────────────┐ │ 3. BUILD & PUSH │ gitea.1000co.fr/millianlmx/tabatago-admin-web └────┬──────────────────┘ │ ┌────▼──────────┐ │ 4. DEPLOY │ Portainer API → stack tabatago-admin-web └────────────────┘ ``` ### Secrets nécessaires Déjà créés : `CI_GITEA_TOKEN`, `DOCKER_USERNAME`, `DOCKER_PASSWORD`, `PORTAINER_ACCESS_TOKEN` ### Prérequis déploiement Créer manuellement le stack `tabatago-admin-web` dans Portainer une première fois (contenu dans `admin-web/docker-compose.portainer.yml`).
millianlmx added 1 commit 2026-07-12 07:20:30 +02:00
ci(admin-web): Docker build & push vers registry Gitea + reusable tests
Some checks failed
CI / Detect Changes (pull_request) Successful in 3s
CI / YouTube Worker (pull_request) Failing after 6s
CI / Admin Web CI (pull_request) Failing after 7s
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 2m54s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped
c938c81df0
- Nouveau Dockerfile multi-stage Next.js standalone (node:22-bookworm-slim)
- Configuration semantic-release (.releaserc.json, version.json, devDeps)
- docker-compose.portainer.yml pour déploiement Portainer
- Workflow docker-admin-web.yml : test → semantic-release → build push → deploy
- Extraction admin-web-tests.yml (reusable workflow) appelé par ci.yml et docker-admin-web.yml → 0 duplication
- next.config.ts : ajout output: 'standalone'
- .dockerignore : exclusions node_modules, .next, etc.
millianlmx added 2 commits 2026-07-12 07:28:18 +02:00
- Tous les runs-on: ubuntu-latest → nas-runner (ci.yml, docker-admin-web.yml, admin-web-tests.yml)
- youtube-worker: régénération package-lock.json (manquait @google/genai et dépendances)
ci: pr-iphone-deploy — filtre paths tabatago-swift/** uniquement
Some checks failed
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 3m2s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped
CI / Detect Changes (pull_request) Has been cancelled
CI / Admin Web CI (pull_request) Has been cancelled
CI / YouTube Worker (pull_request) Has been cancelled
CI / Deploy (pull_request) Has been cancelled
04a6512a6b
Ne déclenche le build/deploy iPhone que si des fichiers dans tabatago-swift/
ou le workflow lui-même sont modifiés.
millianlmx added 2 commits 2026-07-12 07:35:32 +02:00
Le paths sur on.pull_request ne fonctionne pas de manière fiable dans
Gitea Actions. Passage à un job 'changes' avec dorny/paths-filter@v3
(identique au pattern de ci.yml) qui détecte les changements dans
tabatago-swift/** avant de lancer le build sur le runner macos.
fix(ci): nas-runner → ubuntu-latest pour ci et admin-web-tests
Some checks failed
CI / Detect Changes (pull_request) Successful in 4s
CI / Admin Web CI (pull_request) Failing after 13s
CI / YouTube Worker (pull_request) Successful in 7s
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Detect Changes (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been cancelled
b2bd5af0a6
Le label nas-runner n'existe pas sur le runner NAS, les labels disponibles
sont ubuntu-latest, ubuntu-22.04, ubuntu-24.04.

- ci.yml : 3 occurrences (changes, youtube-worker-check, deploy-functions)
- admin-web-tests.yml : 1 occurrence (test)
- docker-admin-web.yml : 3 occurrences (semantic-release, build-and-push, deploy)
millianlmx added 1 commit 2026-07-12 07:43:41 +02:00
fix(ci): supprimer reusable workflow + régénérer package-lock.json
Some checks failed
CI / Detect Changes (pull_request) Successful in 4s
CI / Admin Web CI (pull_request) Failing after 36s
CI / YouTube Worker (pull_request) Successful in 6s
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Detect Changes (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been cancelled
c517e9a861
Gitea Actions ne supporte pas correctement les inputs des workflow_call
(inputs.node-version évalué en '%!t(string=22)' au lieu de '22').

- Suppression de admin-web-tests.yml (reusable workflow non supporté)
- Tests admin-web réintégrés inline dans ci.yml et docker-admin-web.yml
- admin-web/package-lock.json régénéré (npm install, manquait les devDeps semantic-release)
millianlmx closed this pull request 2026-07-19 16:10:25 +02:00
Some checks failed
CI / Detect Changes (pull_request) Successful in 4s
CI / Admin Web CI (pull_request) Failing after 36s
CI / YouTube Worker (pull_request) Successful in 6s
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Detect Changes (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Has been cancelled
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: millianlmx/tabatago#10