Skip to content

chore(deps-dev): bump pytest from 8.4.2 to 9.1.1 in /examples/safe-agent-api #30

chore(deps-dev): bump pytest from 8.4.2 to 9.1.1 in /examples/safe-agent-api

chore(deps-dev): bump pytest from 8.4.2 to 9.1.1 in /examples/safe-agent-api #30

name: Example Safe Agent API
on:
pull_request:
paths:
- "examples/safe-agent-api/**"
- ".devcontainer/**"
- ".github/workflows/example-safe-agent.yml"
push:
branches: [main]
paths:
- "examples/safe-agent-api/**"
- ".devcontainer/**"
- ".github/workflows/example-safe-agent.yml"
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: examples/safe-agent-api
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: examples/safe-agent-api/pyproject.toml
- name: Install
run: python -m pip install -e ".[dev]"
- name: Test
run: pytest -q
- name: Validate devcontainer JSON
run: python -m json.tool ../../.devcontainer/devcontainer.json > /dev/null
- name: Build Docker image
run: docker build -t safe-agent-api:ci .
- name: Run Docker smoke test
run: |
docker run -d --name safe-agent-api-ci -p 8000:8000 safe-agent-api:ci
for attempt in {1..20}; do
if curl --fail --silent http://127.0.0.1:8000/health > /tmp/health.json; then
break
fi
sleep 1
done
curl --fail --silent http://127.0.0.1:8000/health | grep '"status":"ok"'
curl --fail --silent http://127.0.0.1:8000/ | grep "Safe Agent Playground"
- name: Show container logs on failure
if: failure()
run: docker logs safe-agent-api-ci || true
- name: Cleanup container
if: always()
run: docker rm -f safe-agent-api-ci || true