• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

OCHA-DAP / hdx-scraper-ophi / 33691640148
94%
main: 97%

Build:
Build:
LAST BUILD BRANCH: airflow
DEFAULT BRANCH: main
Ran 02 Sep 2026 10:43PM UTC
Jobs 1
Files 6
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Sep 2026 10:37PM UTC coverage: 94.487%. First build
33691640148

push

github

mcarans
Fix three live-run bugs found while UI-testing the Airflow pipeline

None of these surfaced under test_airflow_defs.py, which calls the task
functions directly rather than going through a real Airflow scheduler run:

- retriever_context() never set the global user agent (same root cause and
  fix as the Dagster RetrieverResource bug).
- delete_scratch_on_success defaulted to True, but several tasks in this
  DAG run concurrently against the one shared scratch folder (the four
  downloads, and the whole country_mpi_dataset fan-out) - one task
  finishing first deleted the folder while others were still using it.
  Defaulted to False instead; Dagster's equivalent race is fixed by
  pinning its job to in_process_executor, not an option here since every
  Airflow task is already its own process. Cleanup is left out of scope
  for this local comparison.
- is_target_run_day(logical_date) had no default, but Airflow only adds
  "logical_date" to the task context at all for scheduled/backfill runs -
  a manual trigger with no date omits the key entirely rather than passing
  None, so the task failed with a missing-argument TypeError. Added a
  None default (manual runs now always execute, matching a manual Dagster
  launch bypassing ophi_annual_schedule's SkipReason check entirely).

Verified end-to-end via a real `airflow standalone` run: the annual
schedule's skip logic fired correctly on a non-target scheduled tick, and
a manual trigger ran the full DAG - 7 core tasks plus 99/109 country_mpi_
dataset fan-out instances succeeded (the other 10 hit real HDX-stage-API
429 rate limiting from ~30 concurrent LocalExecutor workers hitting it at
once, not a code bug - see the plan's comparison notes).

5 of 6 new or added lines in 2 files covered. (83.33%)

497 of 526 relevant lines covered (94.49%)

0.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
78.18
src/hdx/scraper/ophi/airflow_defs/resources.py
Jobs
ID Job ID Ran Files Coverage
1 tests - 33691640148.1 02 Sep 2026 10:43PM UTC 6
94.49
GitHub Action Run
Source Files on build 33691640148
  • Tree
  • List 6
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33691640148
  • 82425862 on github
  • Next Build on airflow (#33695592778)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc