Skip to main content
Run the same dari deploy command in CI that you use locally, whether the repo is Python- or TypeScript-based.

GitHub Actions example

name: Deploy Agent

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - run: pip install dari
      - run: dari deploy .
        env:
          DARI_API_KEY: ${{ secrets.DARI_API_KEY }}

How CI publishing works

Local and CI publishing use the same backend path:
  • The CLI reads the same manifest
  • The CLI uploads the same packaged source
  • The platform creates the same agent version type
This keeps CI predictable and avoids introducing a separate source-ingestion path just for Git-hosted repos.
  • Inject API keys through CI secrets
  • Run publishes from checked-out source, not a mutable remote ref
  • Keep CI-triggered publishes explicit and repository-owned