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:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
quality:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: '3.12'
|
||||||
cache: pip
|
cache: pip
|
||||||
- run: pip install -e '.[dev]'
|
- run: pip install -e '.[dev]'
|
||||||
- run: ruff format --check .
|
- run: ruff format --check .
|
||||||
- run: ruff check .
|
- run: ruff check .
|
||||||
- run: mypy src
|
- run: mypy app
|
||||||
- run: pytest -q
|
- 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