tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Agentic AI > ADK Agent Testing > ADK Agent CI/CD Pipeline with GitHub Actions

ADK Agent CI/CD Pipeline with GitHub Actions

Author: Venkata Sudhakar

ShopMax India deploys ADK agent updates frequently - prompt tuning, new tools, model upgrades. Without a CI/CD pipeline, regressions slip into production undetected. A well-structured pipeline runs all test layers automatically on every pull request: unit tests first (fast, cheap), then integration tests, then regression and contract tests. Only code that passes every layer gets merged and deployed, giving the team confidence to ship agent updates quickly.

The pipeline is organised in four stages with a fail-fast strategy: if unit tests fail, the remaining stages are skipped to save time. Each stage has a time budget - unit tests must complete in under 30 seconds, integration tests in under 2 minutes. The pipeline script is a plain Python file that can be run locally or triggered by GitHub Actions, GitLab CI, or any CI system. The same script runs in both environments, making local debugging straightforward.

The example shows ShopMax India's CI pipeline orchestrator. It runs four test stages in sequence, reports per-stage results, and exits with a non-zero code on any failure so the CI system marks the build as failed.


It gives the following output,

ShopMax India - ADK Agent CI Pipeline
========================================
Unit Tests: PASSED (2.1s)
Integration Tests: PASSED (18.4s)
Regression Tests: PASSED (31.2s)
Contract Tests: PASSED (4.7s)
========================================
All stages passed. Ready to deploy.

Set per-stage time budgets and fail the pipeline if a stage exceeds them - slow tests are a warning sign of missing mocks or real network calls in unit tests. Run the pipeline on every pull request and block merges on failure. Cache pip dependencies in CI to keep pipeline startup under 30 seconds. Add a nightly pipeline variant that runs the full suite with higher example counts (Hypothesis max_examples=1000) and real LLM calls against a staging endpoint, separate from the PR pipeline which always uses mocks.


 
  


  
bl  br