fix(deps): declare boto3 directly and exercise Vertex AI and Bedrock auth from the frozen binary in CI

This commit is contained in:
Ahmed Allam 2026-10-04 18:37:42 +00:00 • committed by Ahmed Allam
parent 6a3d2ec9b8
commit 265e508d5c
4 changed files with 21 additions and 2 deletions

View file

@ -59,3 +59,18 @@ jobs:
grep -E "strix/bin/strix-tui" archive.txt >/dev/null
grep -E "'google\.auth\.transport\.requests'" archive.txt >/dev/null
grep -E "'boto3\.session'" archive.txt >/dev/null
- name: Binary reaches Vertex AI and Bedrock authentication
env:
STRIX_TELEMETRY: "false"
STRIX_IMAGE: alpine:3.20
VERTEXAI_PROJECT: strix-ci
VERTEXAI_LOCATION: us-central1
AWS_REGION: us-east-1
run: |
mkdir -p /tmp/target && echo 'print("hi")' > /tmp/target/app.py
STRIX_LLM=vertex_ai/gemini-2.5-pro dist/strix -n -t /tmp/target --scan-mode quick > vertex.log 2>&1 || true
grep -q "DefaultCredentialsError" vertex.log
! grep -q "No module named" vertex.log
STRIX_LLM=bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0 dist/strix -n -t /tmp/target --scan-mode quick > bedrock.log 2>&1 || true
grep -q "Unable to locate credentials" bedrock.log
! grep -q "No module named" bedrock.log

View file

@ -37,6 +37,7 @@ dependencies = [
"openai>=2.45.0,<3",
"litellm>=1.101.0",
"google-auth>=2.0.0",
"boto3>=1.28.0",
"pydantic>=2.11.3",
"pydantic-settings>=2.13.0",
"rich",

View file

@ -16,10 +16,11 @@ def _pyproject() -> dict[str, object]:
return tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
def test_google_auth_is_a_regular_dependency() -> None:
@pytest.mark.parametrize("package", ["google-auth", "boto3"])
def test_provider_packages_are_regular_dependencies(package: str) -> None:
project = _pyproject()["project"]
assert isinstance(project, dict)
assert any(req.startswith("google-auth") for req in project["dependencies"])
assert any(req.startswith(package) for req in project["dependencies"])
assert "optional-dependencies" not in project

2
uv.lock generated
View file

@ -2389,6 +2389,7 @@ name = "strix-agent"
version = "1.6.2"
source = { editable = "." }
dependencies = [
{ name = "boto3" },
{ name = "caido-sdk-client" },
{ name = "cryptography" },
{ name = "cvss" },
@ -2422,6 +2423,7 @@ dev = [
[package.metadata]
requires-dist = [
{ name = "boto3", specifier = ">=1.28.0" },
{ name = "caido-sdk-client", specifier = ">=0.2.0" },
{ name = "cryptography", specifier = ">=48.0.1,<49" },
{ name = "cvss", specifier = ">=3.2" },