PDS download smoke #98
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PDS download smoke | |
| # Standalone PDS-node availability canary. Fetches a small index from each | |
| # supported PDS node so an outage or a download/parse regression surfaces as a | |
| # failed run here — WITHOUT blocking the release gate (these tests are `slow` | |
| # and excluded from that workflow). Scheduled daily; also runnable on demand. | |
| on: | |
| schedule: | |
| - cron: "17 6 * * *" # daily ~06:17 UTC | |
| workflow_dispatch: | |
| jobs: | |
| smoke: | |
| name: Fetch a small index from each PDS node | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # GitHub-hosted runners take a fresh Azure IP per job, so an archive | |
| # operator investigating a blip needs the IP *from the failing run*, not a | |
| # static one. Always-run so it is recorded on failures too. | |
| - name: Record egress IP for upstream debugging | |
| if: always() | |
| run: | | |
| { | |
| echo "egress IP : $(curl -s --max-time 10 https://api.ipify.org || echo unavailable)" | |
| echo "at : $(date -u '+%Y-%m-%d %H:%M:%S UTC')" | |
| echo "run : $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | |
| } | tee -a "$GITHUB_STEP_SUMMARY" | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install planetarypy | |
| run: pip install -e ".[dev]" | |
| # No cache: every run is a genuine fetch from the PDS nodes. The smoke | |
| # tests are `slow`-marked, so they run here (no `-m "not slow"` filter). | |
| # -o addopts="" drops the repo defaults (coverage, xdist, -m filters); | |
| # the package is pip-installed, so imports resolve fine. | |
| - name: Run PDS download smokes | |
| run: pytest tests/test_pds_smoke.py -o addopts="" -v |