Nous avons récemment lancé Claude Code Sessions dans Depot, une fonctionnalité qui vous permet de partager des sessions de code Claude avec les développeurs et vos flux de travail CI. Dans notre précédent article de blog, nous avons noté que "nous utilisons Claude Code chez Depot depuis à peu près le moment où il a chuté", mais nous n'avons pas expliqué comment. Cet article démontrera l'une de nos utilisations de CI les plus précieuses: garder constamment nos fourches à jour.
Tous nos coureurs du GHA fonctionnent sur leurs propres instances EC2 isolées. En tant que tels, nous devons construire une image que ces coureurs peuvent charger, appelés AMI. Cela ressemble à ce serait assez facile! GitHub conserve les définitions de leurs images de coureurs open source, il serait donc juste une question de modifier leur source pour travailler avec nos coureurs, puis de construire l'AMI. Malheureusement, ce n'est pas aussi simple. Nous apportons un grand nombre de modifications à l'image pour aider à améliorer les performances, et à côté de cela, les coureurs de Github fonctionnent sur Azure et le nôtre fonctionne sur AWS. Cela signifie que, au lieu d'utiliser simplement leur source tel quel, nous devons le modifier pour travailler avec notre logiciel AMI Build. La façon dont nous allons à ce sujet est de garder en amont dans un sous-module GIT, puis d'exécuter beaucoup de leurs scripts avec un fichier de correctif qui les modifie pour travailler avec nos coureurs. C'est beaucoup de travail, et il faut beaucoup de temps pour suivre leurs changements.
Garder notre fourche en synchronisation avec en amont nécessite une quantité assez importante d'efforts de développeur qui se composent au fil du temps. Chaque traction de l'amontage consiste à tirer des dizaines de validations, à examiner chaque changement pour les problèmes de compatibilité et à s'assurer que tout ce qui est introduit en amont sera compatible avec notre logiciel Runner existant.
Ce n'est pas seulement l'investissement en temps brut qui est un problème non plus, c'est la charge cognitive de contexte qui passe d'un autre travail profond et intensif à cette tâche. Kyle, notre co-fondateur et PDG ici chez Depot, en parle fréquemment, mais la commutation de contexte est l'un des plus grands tueurs cachés de la productivité des développeurs. Il brise le flux que vous aviez, et franchement, ça ne se sent pas bien.
Depuis de nombreux mois maintenant, nous voulons automatiser ce processus. L'IA générative est la nouvelle chose chaude, et consommer de grandes quantités de données pour produire des quantités plus petites est un domaine où les LLM peuvent vraiment briller.
Il y a deux problèmes principaux que nous voulons aborder ici:
Le premier est de garder un fichier appeléARM64À jour. Essentiellement, les images du github sont conçues pour x86_...
[Courte citation de 8% de l'article original]