decomposer: generate deliverable files for Define the service contract and project architecture for the FastAPI endpoint monitoring service.; Implement the typed monitor CRUD API and concurrency-safe in-memory state according to the service design.; Implement secure on-demand endpoint checks with status updates, latency measurement, robust error handling, and redacted structured logs.; Add operational API endpoints and environment-driven runtime configuration to the monitoring service.; Create automated tests for the monitoring service.; Package the service with Docker and developer documentation.; Validate the complete project.
This commit is contained in:
23
.github/workflows/ci.yml
vendored
23
.github/workflows/ci.yml
vendored
@@ -2,18 +2,33 @@ name: ci
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
test:
|
||||
quality:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
python-version: '3.12'
|
||||
cache: pip
|
||||
- run: pip install -e '.[dev]'
|
||||
- run: ruff format --check .
|
||||
- run: ruff check .
|
||||
- run: mypy src
|
||||
- run: mypy app
|
||||
- run: pytest -q
|
||||
- run: docker build -t endpoint-monitor .
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user