Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:

fail_count=0
allowed_sdk_langs=(csharp curl go java node python)
non_runnable_example_dirs=(dockerhub)

fail() {
echo "::error::$1"
Expand All @@ -40,6 +41,16 @@ jobs:
return 1
}

is_non_runnable_example_dir() {
local dir="$1"
for excluded in "${non_runnable_example_dirs[@]}"; do
if [[ "$excluded" == "$dir" ]]; then
return 0
fi
done
return 1
}

check_example_contract() {
local dir="$1"
[[ -f "$dir/README.md" ]] || fail "$dir is missing README.md"
Expand Down Expand Up @@ -70,6 +81,11 @@ jobs:
[[ -d "$top_example_dir" ]] || continue
top_name="$(basename "$top_example_dir")"

if is_non_runnable_example_dir "$top_name"; then
echo "Skipping non-runnable examples directory: $top_example_dir"
continue
fi

if [[ "$top_name" == "agents" ]]; then
for agent_example_dir in "$top_example_dir"/*; do
[[ -d "$agent_example_dir" ]] || continue
Expand Down
10 changes: 10 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ Current production-style example directories:
- `examples/agents/langchain-streaming-agent`
- `examples/agents/langchain-structured-output-agent`

Support (non-runnable) docs directory under `examples/`:
- `examples/dockerhub` (Docker Hub overview/release docs; not an executable example)

Root documentation and policy files:
- `README.md`
- `AGENTS.md`
Expand All @@ -43,6 +46,13 @@ Each example directory must include at minimum:
- `.env.example` (required variables, no secrets)
- Source files needed to run independently

Exception:
- `examples/dockerhub` is documentation-only and is excluded from runnable-example contract checks.
- If you add another non-runnable subdirectory under `examples/`, update:
- `.github/workflows/ci.yml` (`non_runnable_example_dirs`)
- `.github/workflows/docker-auto-tag.yml` (`paths-ignore`, if needed)
- `.github/scripts/auto-tag.sh` target paths/excludes (if release tagging should ignore it)

## Build, Test, and Development Commands
There is no single root build/test pipeline yet. Work from the specific example directory and follow its README.
- `cd sdk/<language>/<example-name>`: enter one SDK quickstart.
Expand Down