/ .github / workflows / a2a.yaml
a2a.yaml
 1  name: A2A CI
 2  
 3  on:
 4    push:
 5      paths:
 6        - .github/workflows/a2a.yaml
 7        - a2a/**
 8      branches:
 9        - main
10    pull_request:
11      paths:
12        - .github/workflows/a2a.yaml
13        - a2a/**
14  
15  permissions:
16    contents: read
17  
18  jobs:
19    check:
20      name: Format & Type Check
21      runs-on: ubuntu-latest
22      env:
23        UV_PYTHON: "3.13"
24  
25      defaults:
26        run:
27          working-directory: a2a
28  
29      steps:
30        - name: Checkout repository
31          uses: actions/checkout@v4
32  
33        - name: Set up Python
34          uses: actions/setup-python@v5
35          with:
36            python-version: "3.13"
37  
38        - name: Install uv
39          run: |
40            curl -LsSf https://astral.sh/uv/install.sh | sh
41            echo "$HOME/.cargo/bin" >> $GITHUB_PATH  # Make uv available
42  
43        - name: Check format
44          run: uv run ruff format --check
45  
46        - name: Check lint
47          run: uv run ruff check
48  
49        - name: Check types
50          run: uv run pyright
51  
52    build:
53      name: Build
54      runs-on: ubuntu-latest
55      defaults:
56        run:
57          working-directory: a2a
58  
59      steps:
60        - name: Checkout repository
61          uses: actions/checkout@v4
62  
63        - name: Set up Docker Compose
64          uses: ./.github/actions/setup-compose
65  
66        - name: Build Docker images
67          run: docker compose build