Antigravity
acbfba85b1
fix: CI artifact upload/download v4→v3 (Gitea ne supporte pas v4)
...
CI / Lint, Unit Tests & Build (push) Failing after 30s
CI / Deploy production (on server) (push) Has been skipped
actions/upload-artifact@v4 et download-artifact@v4 utilisent une API
immatriculée GitHub Actions qui n'existe pas sur Gitea.
v3 est compatible et supporté.
Source: https://gitea.com/actions/gitea-upload-artifact
2026-06-20 11:24:54 +00:00
Antigravity
79fd6553b7
feat(monitoring): business metrics + hardening sécurité
...
CI / Lint, Unit Tests & Build (push) Successful in 5m21s
CI / Deploy production (on server) (push) Successful in 3m43s
Métriques business dans /api/metrics :
- Abonnements par tier/status (BASIC/PRO/ENTERPRISE × ACTIVE/CANCELED)
- Nouveaux abonnements ce mois vs mois dernier
- Désabonnements / churn ce mois vs mois dernier
- Utilisateurs actifs 7j / 30j (proxy : note modifiée)
- Nouvelles inscriptions 7j / ce mois
- Runs agents IA par status (30j + aujourd'hui) + tokens consommés
- Usage IA par feature (requêtes + tokens ce mois)
- Logins aujourd'hui / ce mois (via AuditLog)
- Sessions brainstorm ce mois
- Flashcards total + reviews ce mois
Alertes Prometheus :
- HighChurnRate (> 10 désabonnements ce mois)
- NoNewUsersLast7Days (aucune inscription 7j)
- AgentRunsHighErrorRate (> 20% erreurs agents)
- BusinessMetricsCollectionFailed
Hardening monitoring :
- Ports monitoring → 127.0.0.1 (plus exposés publiquement)
- Images pinned (prometheus v2.53.0, grafana 11.1.0, etc.)
- alertmanager-bridge fake → metalmatze/alertmanager-bot:0.4.3
- /api/metrics sécurisé avec METRICS_TOKEN bearer
- Prometheus auth bearer via credentials_file
- Redis AOF + 256mb, healthcheck → /api/build-info
- repeat_interval 4h, inhibit_rules alertmanager
- Secrets CI/CD : AUTH_GOOGLE_SECRET, METRICS_TOKEN, GRAFANA, MCP_API_KEY
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-29 14:49:34 +00:00
Antigravity
8571080037
fix(ci): artifact@v4, AUTH_GOOGLE_SECRET secret, REDIS_HOST + Telegram dans deploy.yaml
...
CI / Lint, Unit Tests & Build (push) Successful in 6m41s
CI / Deploy production (on server) (push) Has been cancelled
ci.yaml:
- upload/download-artifact v3 → v4 (Gitea/Forgejo compatibilité)
- AUTH_GOOGLE_SECRET: vars → secrets (Google OAuth était cassé en prod)
deploy.yaml:
- Ajout REDIS_HOST=redis (manquant → Redis inaccessible au démarrage manuel)
- Ajout TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID (notifications manquantes)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-29 14:42:15 +00:00
Antigravity
3b2570d981
chore(ci): correct Gitea runner to runs-on ubuntu-24.04 and feat(billing): implement US-3.7 billing/subscription UX
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Unit Tests & Build (push) Has been cancelled
2026-05-28 21:39:08 +00:00
Antigravity
a5342eba4b
fix(ci): use --legacy-peer-deps during npm ci in all workflows
CI / Lint, Unit Tests & Build (push) Failing after 36s
CI / Deploy production (on server) (push) Has been skipped
2026-05-28 21:17:05 +00:00
Antigravity
3a08350568
fix(ci): bypass setup-node and cache steps in Gitea to use runner system Node
CI / Lint, Unit Tests & Build (push) Failing after 9s
CI / Deploy production (on server) (push) Has been skipped
2026-05-28 21:16:44 +00:00
Antigravity
67e9a6e3dd
fix(ci): resolve invalid YAML formatting in Telegram notification steps
CI / Lint, Unit Tests & Build (push) Failing after 46s
CI / Deploy production (on server) (push) Has been skipped
2026-05-28 21:15:17 +00:00
Antigravity
6309b652e8
fix(ci): use npm ci with legacy-peer-deps in Dockerfiles & add workflow_dispatch & fix list styles
2026-05-28 21:14:26 +00:00
Antigravity
457c6fa626
feat(billing): implement robust in-app subscription cancellation & fix CI/CD socket port typo
2026-05-28 20:50:11 +00:00
Antigravity
9da92b8edd
fix(ci): use docker-host label only (matching runner config)
2026-05-27 20:31:15 +00:00
Antigravity
473cdb549a
fix(ci): use self-hosted runner label syntax
2026-05-27 20:19:01 +00:00
Antigravity
3cae8a2e99
fix(ci): optimize workflow for docker-host runner and faster execution
...
- Fix runner label: ubuntu-24.04 → docker-host
- Add npm cache for faster installs
- Remove PostgreSQL service (not needed for unit tests)
- Keep Vitest unit tests (fast logic tests)
- Remove Playwright E2E tests (too slow for CI, run locally)
- Remove unnecessary database setup step
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 19:53:08 +00:00
Antigravity
2de66a863d
feat(ci): add rollback mechanism and Telegram notifications
...
CI/CD Pipeline Improvement - Add automated rollback on deployment
failure and Telegram notifications for CI/deploy status.
Changes:
- scripts/deploy-prod.sh: Add rollback_save_image(), rollback_restore_image(),
and telegram_notify() functions
- scripts/deploy-prod.sh: Save current Docker image before building new one
- scripts/deploy-prod.sh: Rollback to previous image on health check failure
- .gitea/workflows/ci.yaml: Add Telegram notifications for CI failures
- memento-note/eslint.config.mjs: Disable experimental React Compiler rules
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 19:36:57 +00:00
Antigravity
0e61055bc0
fix(ci): disable node npm caching and remove invalid next webpack flag to prevent hangs
CI / Lint, Test & Build (push) Successful in 1m42s
CI / Deploy production (on server) (push) Failing after 8s
2026-05-21 20:20:10 +00:00
Antigravity
87ec01fdd5
fix(ci): add needs clause to deploy job and force recreate prometheus on deploy
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 20:11:04 +00:00
Antigravity
d7e72008ec
fix(ci): install node in runner for download-artifact and connect prometheus to memento-net
CI / Deploy production (on server) (push) Successful in 3m28s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 20:07:06 +00:00
Antigravity
f38e08e289
fix(ci): make sudo invocation conditional in postgresql-client installation
CI / Deploy production (on server) (push) Failing after 4m0s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 18:48:25 +00:00
Antigravity
d31ab190eb
fix(ci): remove postgres service port mapping to prevent docker-host port conflicts
CI / Deploy production (on server) (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-21 18:42:10 +00:00
Antigravity
3dadf1e8b3
fix(ci): install docker-cli and dependencies inside runner for deploy step
CI / Lint, Test & Build (push) Failing after 12s
CI / Deploy production (on server) (push) Failing after 4m1s
2026-05-20 19:38:44 +00:00
Antigravity
b4aedbcc38
fix(ci): add safe.directory for runner to avoid dubious ownership
CI / Deploy production (on server) (push) Failing after 1s
CI / Lint, Test & Build (push) Has been cancelled
2026-05-20 19:38:25 +00:00
Antigravity
fe231add99
chore(ci): upsert telegram secrets into .env.docker on deploy
CI / Lint, Test & Build (push) Successful in 12m45s
CI / Deploy production (on server) (push) Failing after 11s
2026-05-20 19:22:36 +00:00
Antigravity
495f9a631b
fix: force deployment, support REDIS_URL/REDIS_HOST, and fix vector deserialization
CI / Lint, Test & Build (push) Successful in 12m40s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 22:00:19 +00:00
Antigravity
37d9bea7bb
fix: change socket port to 3005 (conflict with grafana) and make CI artifacts non-blocking
CI / Lint, Test & Build (push) Successful in 12m43s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 21:06:34 +00:00
Antigravity
450bcc763a
fix(ci): downgrade upload/download-artifact to v3 for compatibility and add check
CI / Lint, Test & Build (push) Successful in 12m51s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 20:24:19 +00:00
Antigravity
fdb148144e
fix: restore brainstorming feature with missing socket server and real-time events
CI / Lint, Test & Build (push) Failing after 7m48s
CI / Deploy production (on server) (push) Has been cancelled
2026-05-19 20:07:56 +00:00
Antigravity
5b794d6449
feat(auth): restore Google sign-in and AI admin test routes
...
CI / Lint, Test & Build (push) Failing after 7m46s
CI / Deploy production (on server) (push) Has been cancelled
Google OAuth was implemented locally but never deployed; the login button
only renders when AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET are set. Also
restores /api/ai/test-* endpoints removed by mistake and wires Google
credentials into deploy workflows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-17 17:17:42 +00:00
Antigravity
759487cb36
fix(deploy): exécuter sur le serveur + build CI réutilisé (~2 min)
...
CI / Lint, Test & Build (push) Failing after 7m52s
CI / Deploy production (on server) (push) Has been cancelled
Le deploy SSH depuis ubuntu-24.04 ne rebuildait pas sur 190 (image d'hier).
Déploiement sur runner docker-host, artifact Next.js de la CI, Dockerfile.prebuilt,
script deploy-prod.sh. workflow_run supprimé au profit de needs:[ci] même fichier.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-17 10:19:16 +00:00
Antigravity
0e60c0e591
fix(deploy): déclencher après CI et vérifier le commit déployé
...
CI / Lint, Test & Build (push) Successful in 12m13s
Le job deploy référençait needs:[ci] dans un autre workflow (inefficace
sur Gitea). Déclenchement via workflow_run après CI réussie, empreinte
GIT_COMMIT dans l'image, endpoint /api/build-info et health check sur
127.0.0.1:3000 avec comparaison du SHA attendu.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-17 09:59:33 +00:00
Antigravity
d4433bb5c1
fix(deploy): recréer l'app après le build, pas avant
...
CI / Lint, Test & Build (push) Successful in 12m11s
Deploy to Production / Build and Deploy (push) Has been cancelled
Le workflow redémarrait memento-note avec l'ancienne image avant git pull,
puis ne forçait pas le remplacement du conteneur après build. On force
maintenant --force-recreate après build et on log le commit déployé.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-17 09:31:48 +00:00
Antigravity
b5fb439592
fix(ci): migrations idempotentes et deploy prod sans toucher Postgres
...
CI / Lint, Test & Build (push) Failing after 5m48s
Deploy to Production / Build and Deploy (push) Has been cancelled
Les migrations échouaient sur une base vide (contraintes/index déjà créés par init).
Le workflow deploy ne recrée plus Postgres ni ne force les entrées _prisma_migrations.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-17 08:53:29 +00:00
Antigravity
bd214f010e
ci: fix postgres hostname for docker service networking
CI / Lint, Test & Build (push) Failing after 5m28s
Deploy to Production / Build and Deploy (push) Has been cancelled
2026-05-17 08:14:57 +00:00
Antigravity
f3009b9ee2
ci: real PostgreSQL test DB with pgvector, all tests enabled
CI / Lint, Test & Build (push) Failing after 5m31s
Deploy to Production / Build and Deploy (push) Has been cancelled
2026-05-17 07:59:39 +00:00
Antigravity
247730aefe
fix: provide dummy DATABASE_URL for CI build
Deploy to Production / Build and Deploy (push) Has been cancelled
CI / Lint, Test & Build (push) Has been cancelled
2026-05-17 07:56:02 +00:00
Antigravity
d0b8713148
ci: dump prod DB before each migration with size check
CI / Lint, Test & Build (push) Failing after 5m40s
Deploy to Production / Build and Deploy (push) Has been cancelled
2026-05-16 22:26:43 +00:00
Antigravity
93c6bbca85
feat: add CI pipeline with ESLint, refactor deploy with rollback + Telegram
...
CI / Lint, Test & Build (push) Failing after 5m28s
Deploy to Production / Build and Deploy (push) Has been cancelled
- Add eslint.config.mjs (flat config, eslint-config-next@16 + TypeScript)
- Add .gitea/workflows/ci.yaml (lint, test:unit, build on all branches)
- Refactor deploy.yaml: needs: [ci] gate, Docker rollback tag, Telegram notifications
- Fix 3 pre-existing lint errors (empty interfaces, ts-ignore, require imports)
2026-05-16 21:56:25 +00:00
Antigravity
bbe54cf656
fix: force recreate postgres with pgvector before app startup in deploy pipeline
Deploy to Production / Build and Deploy (push) Successful in 5s
2026-05-12 07:46:07 +00:00
Antigravity
dc4244f2ad
fix: pgvector deployment — idempotent migration, pgvector image, schema sync
...
Deploy to Production / Build and Deploy (push) Successful in 2m21s
- docker-compose.yml: switch postgres:16-alpine to pgvector/pgvector:pg16
- migration: rewrite with IF NOT EXISTS guards, DO block for safe
text→vector(1536) conversion, handles partial/re-run states
- schema.prisma (both): add @default(now()) on NoteEmbedding.updatedAt,
sync mcp-server embedding type to Unsupported("vector(1536)")
- deploy.yaml: add docker compose pull postgres before build
2026-05-12 07:28:03 +00:00
Antigravity
98e246e257
fix: force git reset on deploy + toast persistant de génération
...
Deploy to Production / Build and Deploy (push) Failing after 23s
- Remplace git pull par git fetch + git reset --hard origin/main dans
le workflow CI pour éviter les conflits avec les fichiers locaux
- Ajoute un toast Sonner persistant (duration: Infinity) dès le clic sur
Générer, qui survit à la navigation et se met à jour en succès/erreur
avec action directe (Télécharger / Ouvrir)
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-05 21:15:38 +00:00
bc3577a388
ci: add mcp-server build to deploy pipeline
...
Deploy to Production / Build and Deploy (push) Successful in 20s
The pipeline only built memento-note, causing mcp-server to run with
stale code/schema after pushes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-26 14:51:37 +02:00
434bb3ad71
fix: use prisma db push in entrypoint instead of migrate deploy
...
Deploy to Production / Build and Deploy (push) Has been cancelled
The app uses db push (no migration files), so migrate deploy was a no-op.
Also removes the redundant migration step from deploy.yaml since the
entrypoint now handles schema sync on every container start.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-26 11:06:07 +02:00
88d7bc8b24
ci: add automatic prisma db push to deploy pipeline
...
Deploy to Production / Build and Deploy (push) Has been cancelled
Run database migration after build and before container startup
so schema changes are always applied before the app goes live.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-26 10:53:31 +02:00
70a9e070fc
ci: fix upsert - remove all occurrences before adding to prevent duplicates
...
Deploy to Production / Build and Deploy (push) Successful in 4s
Made-with: Cursor
2026-04-25 23:00:19 +02:00
99ac686ac0
fix: pass full config to sendViaResend, force-recreate container after env update
...
Deploy to Production / Build and Deploy (push) Successful in 39s
Made-with: Cursor
2026-04-25 22:48:05 +02:00
266551e82b
ci: fix heredoc typo ENVSSH → ENDSSH
...
Deploy to Production / Build and Deploy (push) Successful in 39s
Made-with: Cursor
2026-04-25 22:41:50 +02:00
f1097f76b0
ci: manage all .env.docker vars from Gitea variables & secrets
...
Deploy to Production / Build and Deploy (push) Failing after 2s
Made-with: Cursor
2026-04-25 22:25:22 +02:00
8d8b9cde85
ci: add workflow_dispatch for manual trigger
...
Deploy to Production / Build and Deploy (push) Successful in 4s
Made-with: Cursor
2026-04-25 22:06:42 +02:00
716e15c0b7
ci: update NEXTAUTH_URL and ADMIN_EMAIL from Gitea vars on deploy
...
Deploy to Production / Build and Deploy (push) Successful in 4s
Made-with: Cursor
2026-04-25 22:03:42 +02:00
8aefedcaee
ci: check port 80 (via Nginx) instead of 3000
...
Deploy to Production / Build and Deploy (push) Successful in 4s
Made-with: Cursor
2026-04-25 21:54:28 +02:00
5bf2d7b983
ci: check http://192.168.1.190:3000 from runner, fix healthcheck node http
...
Deploy to Production / Build and Deploy (push) Successful in 4s
Made-with: Cursor
2026-04-25 21:51:41 +02:00
4e84b03575
ci: fix healthcheck (use wget), increase timeout to 180s
...
Deploy to Production / Build and Deploy (push) Failing after 3m13s
Made-with: Cursor
2026-04-25 21:44:09 +02:00