diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8b8f8e..350e06b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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" @@ -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" @@ -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 diff --git a/AGENTS.md b/AGENTS.md index aaff0c0..cd6deb9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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` @@ -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//`: enter one SDK quickstart.