name: ci on: push: pull_request: permissions: contents: read jobs: quality: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.12' cache: pip - run: pip install -e '.[dev]' - run: ruff format --check . - run: ruff check . - run: mypy app - run: pytest -q container: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: docker build -t endpoint-monitor:ci . - run: docker run -d --name monitor -p 8000:8000 endpoint-monitor:ci - run: | for i in $(seq 1 30); do curl --fail --silent http://127.0.0.1:8000/readyz && exit 0 sleep 1 done docker logs monitor exit 1 - run: curl --fail --silent http://127.0.0.1:8000/healthz