Skip to main content

PR hebdomadaires de mise à jour des dépendances

Planifiez une session hebdomadaire avec Devin qui identifie les packages obsolètes, exécute vos tests et ouvre des PR de mise à niveau.
AuthorCognition
CategoryAutomations
FeaturesSchedules
1

Créer un planning hebdomadaire

Ouvrez app.devin.ai et allez dans Settings > Schedules. Cliquez sur Create schedule et configurez-le :
  • Frequency : Weekly — par exemple, tous les lundis à 7:00 AM UTC (0 7 * * 1)
  • Prompt : Collez le prompt de mise à jour des dépendances ci-dessous
Si vous utilisez un Playbook décrivant comment votre équipe gère les mises à jour de dépendances (par exemple, toujours exécuter npm run build après une mise à jour, ou ignorer les devDependencies), joignez-le au planning pour que chaque exécution suive le même processus.
2

Ajouter Knowledge pour guider les mises à jour

Tous les paquets ne doivent pas être mis à jour automatiquement. Allez dans Settings > Knowledge et ajoutez des entrées qui indiquent à Devin quoi ignorer ou traiter avec précaution :
  • Do not update react past v18 — we're mid-migration to v19 on a separate branch.
  • Always pin @types/node to match our Node.js version (20.x).
  • Skip eslint-plugin-import — it conflicts with our custom lint config.
  • Our test command is npm run test:ci, not npm test.
Ces entrées Knowledge sont conservées pour chaque exécution planifiée, de sorte que Devin respecte vos contraintes sans que vous ayez à les répéter dans le prompt.
3

Passer en revue les résultats de Devin

Chaque lundi, Devin vérifie votre repo pour détecter les paquets obsolètes et ouvre des PR en votre nom. Une semaine typique peut produire :PR #1 — Mises à jour sûres (patch + mineures) :
## Mises à jour de dépendances — Semaine du 10 fév.

| Package         | De      | À       | Type  |
|-----------------|---------|---------|-------|
| axios           | 1.6.2   | 1.6.8   | patch |
| react-query     | 5.17.0  | 5.22.1  | minor |
| tailwindcss     | 3.4.1   | 3.4.6   | patch |
| typescript      | 5.3.3   | 5.3.5   | patch |

Les 847 tests sont passés. Aucune vulnérabilité détectée par npm audit.
PR #2 — Montée de version majeure (séparée, avec notes) :
## Mise à jour majeure : zod 3.x → 4.0.0

Breaking changes (extraites du CHANGELOG) :
- `z.object().strict()` est désormais le comportement par défaut
- `z.enum` requiert au moins une valeur
- Méthode obsolète `.check()` supprimée

Modifications de code dans ce PR :
- 3 fichiers de schéma mis à jour pour supprimer les appels `.strict()` explicites
- Valeur de repli ajoutée à l'enum vide dans src/schemas/status.ts
Devin exécute votre suite de tests pour chaque PR indépendamment, ce qui vous permet de fusionner immédiatement le lot de mises à jour sûres et de prendre le temps nécessaire pour examiner les montées de version majeures.
4

Itérer et étendre

Une fois votre planning hebdomadaire en place, vous pouvez l’affiner au fil du temps. Répondez à n’importe quelle session planifiée pour donner des instructions complémentaires à Devin :Conseils pour que tout se passe bien :
  • Séparer frontend et backend — Si votre repo contient les deux, créez deux plannings pour que chaque PR reste ciblée et facile à relire.
  • Laissez la CI aller au bout avant de fusionner — Même des mises à jour mineures apparemment sûres peuvent introduire des bugs subtils. Devin exécute vos tests, mais votre pipeline CI complet ajoute une couche de confiance supplémentaire.
  • Consultez la page Schedules pour suivre l’historique des exécutions, mettre un planning en pause pendant un gel de code ou ajuster l’expression cron.