Skip to content

Commit 8216acf

Browse files
authored
Merge branch 'main' into maeste/issue928
2 parents 45bdc5f + 2bd8397 commit 8216acf

25 files changed

+253
-92
lines changed

.github/CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ docs/ @a2aproject/tech-writing
1111
.mkdocs.yml @a2aproject/tech-writing
1212
README.md @a2aproject/tech-writing
1313
requirements-docs.txt @a2aproject/tech-writing
14+
specification/ @a2aproject/a2a-tsc
15+
types/ @a2aproject/a2a-tsc
16+
docs/specification.md @a2aproject/a2a-tsc
17+
GOVERNANCE.md @a2aproject/a2a-tsc

.github/actions/spelling/allow.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,15 @@ agentic
119119
agentskill
120120
ainvoke
121121
aldridge
122+
amannn
122123
aparse
123124
aproject
124125
aprotocol
125126
arxiv
126127
askmarvin
127128
asyncclick
128129
autogen
130+
automodule
129131
autouse
130132
backstory
131133
backticks
@@ -149,6 +151,7 @@ dcda
149151
dcfa
150152
dde
151153
direnv
154+
docstrings
152155
documentai
153156
dotnet
154157
efaab
@@ -209,6 +212,7 @@ msword
209212
multiagent
210213
multipage
211214
myorg
215+
nearform
212216
nlp
213217
notif
214218
npush
@@ -232,6 +236,7 @@ rcm
232236
repomapr
233237
reportgen
234238
reposted
239+
rst
235240
rvelicheti
236241
sllm
237242
squidfunk
@@ -248,9 +253,11 @@ taskstate
248253
taskstatus
249254
textpart
250255
threadsafe
256+
toctree
251257
tok
252258
tracestate
253259
ugc
260+
undoc
254261
utm
255262
versioned
256263
vnd

.github/release-please.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/release-trigger.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/scripts/build_sdk_docs.sh

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
set -e # Exit immediately if a command exits with a non-zero status.
3+
4+
# --- Configuration ---
5+
PACKAGE_NAME="a2a" # The name of the package to import
6+
PYPI_PACKAGE_NAME="a2a-sdk" # The name on PyPI
7+
DOCS_SOURCE_DIR="docs/sdk/python"
8+
DOCS_BUILD_DIR="${DOCS_SOURCE_DIR}/_build"
9+
VENV_DIR=".doc-venv"
10+
11+
echo "--- Setting up documentation build environment ---"
12+
13+
# Create a clean virtual environment
14+
if [ -d "$VENV_DIR" ]; then
15+
rm -rf "$VENV_DIR"
16+
fi
17+
python3 -m venv "$VENV_DIR"
18+
source "$VENV_DIR/bin/activate"
19+
20+
echo "--- Installing package and dependencies ---"
21+
22+
# Upgrade pip and install documentation requirements
23+
pip install -U pip
24+
pip install -r "requirements-docs.txt"
25+
26+
# Install the package itself
27+
pip install "${PYPI_PACKAGE_NAME}"
28+
29+
echo "--- Finding installed package path ---"
30+
31+
# Find the installation path of the package
32+
PACKAGE_PATH=$(python -c "import ${PACKAGE_NAME}, os; print(os.path.dirname(${PACKAGE_NAME}.__file__))")
33+
echo "Found '${PACKAGE_NAME}' at: ${PACKAGE_PATH}"
34+
35+
echo "--- Generating API documentation source files (.rst) ---"
36+
37+
# Run sphinx-apidoc on the installed package directory
38+
# -f: force overwrite of existing files
39+
# -e: put each module on its own page
40+
sphinx-apidoc -f -e -o "${DOCS_SOURCE_DIR}" "${PACKAGE_PATH}"
41+
42+
echo "--- Building HTML documentation ---"
43+
44+
# Build the HTML documentation
45+
sphinx-build -b html "${DOCS_SOURCE_DIR}" "${DOCS_BUILD_DIR}/html"
46+
47+
# Deactivate the virtual environment
48+
deactivate
49+
50+
echo ""
51+
echo "✅ Documentation build complete!"
52+
echo "View the docs by opening: ${DOCS_BUILD_DIR}/html/index.html"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Check for Linked Issues
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, edited, reopened, synchronize]
6+
7+
jobs:
8+
check_pull_requests:
9+
runs-on: ubuntu-latest
10+
name: Check linked issues
11+
permissions:
12+
issues: read
13+
pull-requests: write
14+
steps:
15+
- uses: nearform-actions/github-action-check-linked-issues@v1
16+
id: check-linked-issues
17+
with:
18+
exclude-branches: 'release/**, dependabot/**'
19+
comment: false
20+
21+
# OPTIONAL: Use the output from the `check-linked-issues` step
22+
- name: Get the output
23+
run: echo "How many linked issues? ${{ steps.check-linked-issues.outputs.linked_issues_count }}"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: "Conventional Commits"
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- edited
8+
- synchronize
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
main:
15+
permissions:
16+
pull-requests: read
17+
statuses: write
18+
name: Validate PR Title
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: semantic-pull-request
22+
uses: amannn/[email protected]
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
with:
26+
validateSingleCommit: false

.github/workflows/docs.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ jobs:
6060
- name: Install documentation dependencies
6161
run: pip install -r requirements-docs.txt
6262

63+
- name: Generate and Build Python SDK Docs
64+
run: |
65+
# Find the path to the installed package
66+
PACKAGE_PATH=$(python -c "import a2a, os; print(os.path.dirname(a2a.__file__))")
67+
echo "Found 'a2a' package at: ${PACKAGE_PATH}"
68+
69+
# Generate RST source files from the installed package
70+
sphinx-apidoc -f -o docs/sdk/python "${PACKAGE_PATH}"
71+
72+
# Build the HTML from the generated RST files
73+
sphinx-build -b html docs/sdk/python docs/sdk/python/api
74+
6375
- name: Build Documentation (PR Check)
6476
if: github.event_name == 'pull_request'
6577
run: mkdocs build
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
10+
name: release-please
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: googleapis/release-please-action@v4
17+
with:
18+
token: ${{ secrets.A2A_BOT_PAT }}
19+
release-type: simple

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,8 @@ testem.log
180180
# System files
181181
.DS_Store
182182
Thumbs.db
183+
184+
# Sphinx build artifacts
185+
docs/sdk/python/_build/
186+
docs/sdk/python/api/
187+
docs/sdk/python/generated/

0 commit comments

Comments
 (0)