API: Return asset events for Dag Runs without a start date - #71379
API: Return asset events for Dag Runs without a start date#71379rino0601 wants to merge 4 commits into
Conversation
|
Hello, maintainers. Thank you, as always, for the project. I saw that PR #71361 had been created for the issue I reported, but it felt like something was missing. So I checked out the project myself and gave it a try, taking care to follow the generative AI contribution guidelines. Reading English is easy for me, but writing it is not, so I got some help from AI. The changes allow I wondered whether this might conflict with the original intent, so I used I live in the Asia/Seoul (+09:00) time zone, and I can contribute to open source every day between 22:00 and 00:00 in my local time. If I missed anything or if you need any help, please feel free to let me know :D |
f96d916 to
3a08434
Compare
|
Quickest fix: git fetch upstream main && git rebase upstream/main
rm uv.lock && uv lock
git add uv.lock && git rebase --continue
git push --force-with-leaseAutomated nudge — ignore if you're not ready to rebase. This comment is updated in place on future |
Asset events should remain available when their created Dag Run has not started yet.
The regression coverage needs to retain started and empty association responses while exercising unstarted Dag Runs.
The nullable asset-event response must be represented in the generated supervisor schema, and CI requires the current dependency metadata in the lockfile.
Asset events can now reference an unstarted Dag Run, so TypeScript clients must accept a missing start date.
3a08434 to
da2be87
Compare
choo121600
left a comment
There was a problem hiding this comment.
Looks good to me, thanks! :)
Return asset events even when a created Dag Run has not started.
Asset-event responses serialize linked Dag Runs through API models that treated
start_dateas required, although queued and cleared Dag Runs may have a NULL value. Align the Core API and Execution API contracts with their generated UI, Task SDK, and AirflowCTL clients.Add regression coverage for Core
/assets/events, upstream asset events, the Execution API, and client response parsing.closes: #71360
Tests:
breeze --python 3.10 --backend postgres run pytest airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_assets.py -qbreeze --python 3.10 --backend postgres run pytest airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_dag_run.py airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_asset_events.py -qbreeze run --python 3.10 --backend sqlite pytest task-sdk/tests/task_sdk/api/test_client.py -qbreeze --python 3.10 --backend sqlite run pytest airflow-ctl/tests/airflow_ctl/api/test_operations.py::TestAssetsOperations::test_create_event -qprek run --from-ref main --stage pre-commit --skip generate-openapi-spec --skip generate-tasksdk-datamodels --skip generate-airflowctl-datamodelsWas generative AI tooling used to co-author this PR?
Generated-by: Codex (GPT-5) following the guidelines
Drafted-by: Codex (GPT-5) (no human review before posting)