From a398a77682d2e1c8236d52f92c009e02d9afd3de Mon Sep 17 00:00:00 2001 From: Jack Amadeo Date: Wed, 28 Jan 2026 13:30:26 -0500 Subject: [PATCH] allow skipping providers in test_providers.sh (#6778) --- .github/workflows/pr-smoke-test.yml | 2 ++ scripts/test_providers.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/.github/workflows/pr-smoke-test.yml b/.github/workflows/pr-smoke-test.yml index f7e1a5a7c8..71459d0264 100644 --- a/.github/workflows/pr-smoke-test.yml +++ b/.github/workflows/pr-smoke-test.yml @@ -108,6 +108,7 @@ jobs: HOME: /tmp/goose-home GOOSE_DISABLE_KEYRING: 1 SKIP_BUILD: 1 + SKIP_PROVIDERS: ${{ vars.SKIP_PROVIDERS || '' }} run: | # Ensure the HOME directory structure exists mkdir -p $HOME/.local/share/goose/sessions @@ -194,6 +195,7 @@ jobs: HOME: /tmp/goose-home GOOSE_DISABLE_KEYRING: 1 SKIP_BUILD: 1 + SKIP_PROVIDERS: ${{ vars.SKIP_PROVIDERS || '' }} run: | mkdir -p $HOME/.local/share/goose/sessions mkdir -p $HOME/.config/goose diff --git a/scripts/test_providers.sh b/scripts/test_providers.sh index 43355a5cdf..a0fdc41a22 100755 --- a/scripts/test_providers.sh +++ b/scripts/test_providers.sh @@ -3,6 +3,10 @@ # Usage: # ./test_providers.sh # Normal mode (direct tool calls) # ./test_providers.sh --code-exec # Code execution mode (JS batching) +# +# Environment variables: +# SKIP_PROVIDERS Comma-separated list of providers to skip (e.g., "tetrate,xai") +# SKIP_BUILD Skip the cargo build step if set CODE_EXEC_MODE=false for arg in "$@"; do @@ -91,6 +95,22 @@ is_allowed_failure() { return 1 } +should_skip_provider() { + local provider="$1" + if [ -z "$SKIP_PROVIDERS" ]; then + return 1 + fi + IFS=',' read -ra SKIP_LIST <<< "$SKIP_PROVIDERS" + for skip in "${SKIP_LIST[@]}"; do + # Trim whitespace + skip=$(echo "$skip" | xargs) + if [ "$skip" = "$provider" ]; then + return 0 + fi + done + return 1 +} + RESULTS=() HARD_FAILURES=() @@ -98,6 +118,14 @@ for provider_config in "${PROVIDERS[@]}"; do # Split on " -> " to get provider and models PROVIDER="${provider_config%% -> *}" MODELS_STR="${provider_config#* -> }" + + # Skip provider if it's in SKIP_PROVIDERS + if should_skip_provider "$PROVIDER"; then + echo "⊘ Skipping provider: ${PROVIDER} (SKIP_PROVIDERS)" + echo "---" + continue + fi + # Split models on "|" IFS='|' read -ra MODELS <<< "$MODELS_STR" for MODEL in "${MODELS[@]}"; do