Back to all posts

Automatisez vos agents IA avec l'intégration GitHub Actions de VM0

Introduction

Aujourd'hui, nous avons partagé un exemple pratique utilisant vm0-ai/run-action, une GitHub Action qui vous permet de déclencher des workflows VM0 directement depuis vos pipelines CI/CD. Cette intégration apporte l'automatisation des agents dans vos dépôts GitHub, facilitant la planification et l'exécution automatique des agents IA.

Qu'est-ce que VM0

VM0 est un runtime d'agents pour construire des agents IA. Il fournit l'infrastructure permettant d'orchestrer les skills des agents, d'exécuter les agents dans des bacs à sable et de définir des workflows d'agents en langage naturel.

Qu'est-ce que GitHub Actions

GitHub Actions est la plateforme d'automatisation intégrée de GitHub, qui vous permet d'exécuter des workflows en fonction d'événements ou selon une planification. À l'aide de tâches cron, vous pouvez exécuter automatiquement des tâches à intervalles fixes, comme l'exécution de pipelines CI, de tâches en arrière-plan ou d'agents IA.

Du local au cloud : exécuter des workflows VM0 avec GitHub Actions

Auparavant, exécuter des workflows VM0 nécessitait de lancer la commande vm0 run depuis votre machine locale. Bien que cela fonctionne bien pour le développement et les tests (et VM0 est en bêta !), cela présentait des difficultés pour :

Avec la nouvelle vm0-ai/run-action, vous pouvez désormais déclencher des workflows VM0 directement depuis GitHub Actions à l'aide d'une simple configuration d'action. Fini l'exécution manuelle de commandes : décrivez simplement la tâche de votre agent et laissez GitHub gérer la planification et l'exécution.

Pour commencer : votre première GitHub Action VM0

Utiliser VM0 dans GitHub Actions est simple. Voici un exemple de base :

- name: Run VM0 Agent
  uses: vm0-ai/run-action@v1
  with:
    agent: my-agent
    prompt: "Build and test the project"
    artifact-name: my-artifact
    vm0-token: ${{ secrets.VM0_TOKEN }}

Configurer l'authentification

Pour authentifier vos GitHub Actions auprès de VM0, vous devrez configurer un secret VM0_TOKEN dans votre dépôt. Il s'agit d'une configuration à effectuer une seule fois :

# Generate a VM0 authentication token and store it in GitHub Secrets
vm0 auth setup-token | gh secret set VM0_TOKEN

Cette commande génère un jeton à partir de votre authentification VM0 locale et le stocke en toute sécurité dans les secrets de votre dépôt GitHub, le rendant disponible pour vos workflows.

Exemple concret : publication de contenu automatisée

Parcourons un exemple complet qui illustre la puissance de l'intégration GitHub Actions de VM0. Nous allons créer une ferme de contenu automatisée qui publie chaque jour des articles d'actualité sur l'IA sur dev.to.

Le scénario

Nous disposons d'un workflow VM0 existant à vm0-cookbooks/104-content-farm qui collecte l'actualité quotidienne de l'IA et publie des articles. Nous voulons maintenant que ce workflow s'exécute automatiquement selon une planification.

Étape 1 : créer un dépôt GitHub

Commencez par créer un nouveau dépôt pour héberger votre workflow automatisé :

# Create and set up your repository
git clone <https://github.com/yourusername/vm0-content-farm>
cd vm0-content-farm

Étape 2 : configurer le workflow

Créez .github/workflows/daily.yaml dans votre dépôt :

name: Content Farm

on:
  schedule:
    # Run at 10:00 AM UTC+8 (2:00 AM UTC) every day
    - cron: '0 2 * * *'
  workflow_dispatch:

jobs:
  run-content-farm:
    runs-on: ubuntu-latest
    steps:
      - name: Run Content Farm Agent
        uses: vm0-ai/run-action@v1
        with:
          agent: content-farm
          prompt: "Write an article about recent AI developments, providing brief summaries of each story to help readers quickly browse the news over their morning coffee"
          artifact-name: content-farm-output
          vm0-token: ${{ secrets.VM0_TOKEN }}
          secrets: |
            CLAUDE_CODE_OAUTH_TOKEN=${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
            FAL_KEY=${{ secrets.FAL_KEY }}
            DEVTO_API_KEY=${{ secrets.DEVTO_API_KEY }}

Décomposons les composants clés :

Étape 3 : configurer vos secrets

Configurez les jetons d'authentification nécessaires dans votre dépôt :

# Set up Claude Code authentication
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --body "your-claude-token"

# Set up other required API keys
gh secret set FAL_KEY --body "your-fal-key"
gh secret set DEVTO_API_KEY --body "your-devto-api-key"

Note de sécurité : ces secrets sont stockés de façon sécurisée dans GitHub et ne sont accessibles qu'à vos workflows. Ils ne sont jamais exposés dans les journaux ou les sorties de workflow.

Étape 4 : ajouter un workflow de déploiement automatique

Créez .github/workflows/publish.yml

  name: Publish Agent

  on:
    push:
      branches:
        - main

  jobs:
    publish:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v4
        - uses: vm0-ai/compose-action@v1
          with:
            vm0-token: ${{ secrets.VM0_TOKEN }}

Cela déploie automatiquement la configuration de votre agent à chaque push sur main. Aucun vm0 compose manuel nécessaire.

Étape 5 : déployer et tester

  Deploy:
  # Get the content-farm agent configuration
  git clone https://github.com/vm0-ai/vm0-cookbooks
  cp -r vm0-cookbooks/104-content-farm/* ./

  # Push to trigger auto-deployment
  git add .
  git commit -m "feat: add content farm agent"
  git push origin main

  Test:
  # Manually trigger the workflow
  gh workflow run scheduled-run.yml

C'est tout ! Votre agent se déploiera désormais automatiquement à chaque push et s'exécutera selon la planification.

Conclusion

L'intégration GitHub Actions de VM0 vous aide à intégrer les agents IA dans votre workflow de développement existant.

Au lieu d'exécuter les agents manuellement ou de les traiter comme des scripts ponctuels, vous pouvez les exécuter directement à l'intérieur de vos pipelines CI/CD et selon une planification. Cela facilite les actions suivantes :

Que vous publiiez du contenu, génériez des rapports, relisiez du code ou automatisiez des workflows internes, VM0 GitHub Actions vous offre un moyen simple et fiable d'exécuter des agents IA quand vous en avez besoin.

Pour commencer, explorez notre dépôt de cookbooks pour des exemples fonctionnels, et essayez

vm0-ai/run-action dans vos propres workflows GitHub.

Ressources supplémentaires

Related Articles

Stay in the loop

// Get the latest insights on AI teammates and collaboration.

SubscribeJoin Discord