|
1 | 1 | ## Agent Review Bundle Summary |
2 | | -- Goal: Clarify macOS TFTP server availability. |
3 | | -- Changes: Add a note that macOS ships a TFTP client but not a server. |
4 | | -- Files: .github/workflows/macos-ci.yml; README.md; install.sh; src/pypnm/pnm/analysis/atdma_group_delay.py; src/pypnm/pnm/analysis/us_drw.py; src/pypnm/pnm/data_type/DocsEqualizerData.py; src/pypnm/docsis/cm_snmp_operation.py; src/pypnm/api/routes/docs/if30/us/atdma/chan/stats/service.py; docs/api/fast-api/single/us/atdma/chan/pre-equalization.md; docs/api/fast-api/single/us/atdma/chan/stats.md; docs/api/fast-api/single/us/ofdma/stats.md; docs/api/fast-api/single/ds/ofdm/mer-margin.md; docs/api/fast-api/single/general/system-description.md; docs/install/development.md; docs/docker/install.md; docs/kubernetes/pypnm-deploy.md; docs/system/pnm-file-retrieval/tftp.md; tests/test_docs_equalizer_group_delay.py; tools/release/release.py |
| 2 | +- Goal: Add a health check to post-build CI. |
| 3 | +- Changes: Start uvicorn and curl /health after pytest. |
| 4 | +- Files: .github/workflows/post-build.yml; .github/workflows/macos-ci.yml; README.md; install.sh; src/pypnm/pnm/analysis/atdma_group_delay.py; src/pypnm/pnm/analysis/us_drw.py; src/pypnm/pnm/data_type/DocsEqualizerData.py; src/pypnm/docsis/cm_snmp_operation.py; src/pypnm/api/routes/docs/if30/us/atdma/chan/stats/service.py; docs/api/fast-api/single/us/atdma/chan/pre-equalization.md; docs/api/fast-api/single/us/atdma/chan/stats.md; docs/api/fast-api/single/us/ofdma/stats.md; docs/api/fast-api/single/ds/ofdm/mer-margin.md; docs/api/fast-api/single/general/system-description.md; docs/install/development.md; docs/docker/install.md; docs/kubernetes/pypnm-deploy.md; docs/system/pnm-file-retrieval/tftp.md; tests/test_docs_equalizer_group_delay.py; tools/release/release.py |
5 | 5 | - Tests: Not run (not requested). |
6 | 6 | - Notes: None. |
7 | 7 |
|
| 8 | +# FILE: .github/workflows/post-build.yml |
| 9 | +name: Post Build |
| 10 | + |
| 11 | +on: |
| 12 | + workflow_run: |
| 13 | + workflows: ["Build"] |
| 14 | + types: [completed] |
| 15 | + |
| 16 | +jobs: |
| 17 | + downstream: |
| 18 | + if: ${{ github.event.workflow_run.conclusion == 'success' }} |
| 19 | + runs-on: ubuntu-latest |
| 20 | + |
| 21 | + steps: |
| 22 | + - name: Checkout |
| 23 | + uses: actions/checkout@v4 |
| 24 | + |
| 25 | + - name: Set up Python |
| 26 | + uses: actions/setup-python@v5 |
| 27 | + with: |
| 28 | + python-version: "3.12" |
| 29 | + |
| 30 | + - name: Install dependencies |
| 31 | + run: | |
| 32 | + python -m pip install --upgrade pip |
| 33 | + pip install -e ".[dev,docs]" |
| 34 | + |
| 35 | + - name: Build docs (gated after Build) |
| 36 | + run: mkdocs build --strict |
| 37 | + |
| 38 | + - name: Compile Python |
| 39 | + run: | |
| 40 | + python -m compileall src |
| 41 | + |
| 42 | + - name: Ruff Check |
| 43 | + run: | |
| 44 | + ruff check src |
| 45 | + |
| 46 | + - name: Ruff Format Check |
| 47 | + run: | |
| 48 | + ruff format --check . |
| 49 | + |
| 50 | + - name: Run Tests |
| 51 | + env: |
| 52 | + PYTHONWARNINGS: default |
| 53 | + run: | |
| 54 | + python -m pytest -q |
| 55 | + |
| 56 | + - name: Start PyPNM |
| 57 | + run: | |
| 58 | + python -m uvicorn pypnm.api.main:app --host 127.0.0.1 --port 8000 & |
| 59 | + sleep 5 |
| 60 | + curl -fsS http://127.0.0.1:8000/health |
| 61 | + pkill -f "uvicorn pypnm.api.main:app" |
8 | 62 | # FILE: .github/workflows/macos-ci.yml |
9 | 63 | name: macOS CI |
10 | 64 |
|
@@ -145,7 +199,7 @@ PyPNM is a DOCSIS 3.x/4.0 Proactive Network Maintenance toolkit for engineers wh |
145 | 199 | Fast install (helper script; latest release auto-detected): |
146 | 200 |
|
147 | 201 | ```bash |
148 | | -TAG="v1.0.52.0-rc1" |
| 202 | +TAG="v1.0.53.0" |
149 | 203 | PORT=8080 |
150 | 204 |
|
151 | 205 | curl -fsSLo install-pypnm-docker-container.sh \ |
@@ -5067,7 +5121,7 @@ PyPNM ships with Docker assets so you can run the API quickly on a workstation, |
5067 | 5121 | ## Fast path: PyPNM Docker container install |
5068 | 5122 |
|
5069 | 5123 | ```bash |
5070 | | -TAG="v1.0.52.0-rc1" |
| 5124 | +TAG="v1.0.53.0" |
5071 | 5125 | PORT=8080 |
5072 | 5126 |
|
5073 | 5127 | curl -fsSLo install-pypnm-docker-container.sh \ |
@@ -5099,7 +5153,7 @@ curl -X GET http://127.0.0.1:${PORT}/pypnm/system/webService/reload -H 'accept: |
5099 | 5153 | ## Deploy bundle flow (tarball) |
5100 | 5154 |
|
5101 | 5155 | ```bash |
5102 | | -TAG="v1.0.52.0-rc1" |
| 5156 | +TAG="v1.0.53.0" |
5103 | 5157 | WORKING_DIR="PyPNM-${TAG}" |
5104 | 5158 |
|
5105 | 5159 | mkdir -p "${WORKING_DIR}" |
@@ -5156,7 +5210,7 @@ This workflow pulls the manifests from GitHub and deploys the GHCR image directl |
5156 | 5210 | ```bash |
5157 | 5211 | curl -fsSL https://raw.githubusercontent.com/PyPNMApps/PyPNM/main/tools/k8s/pypnm_k8s_remote_deploy.sh \\ |
5158 | 5212 | -o /tmp/pypnm_k8s_remote_deploy.sh |
5159 | | -TAG="v1.0.52.0-rc1" |
| 5213 | +TAG="v1.0.53.0" |
5160 | 5214 | NAMESPACE="pypnm-cmts-a" |
5161 | 5215 |
|
5162 | 5216 | bash /tmp/pypnm_k8s_remote_deploy.sh --create --tag "${TAG}" --namespace "${NAMESPACE}" --replicas 1 |
|
0 commit comments