Add automated detection of when Execution API migration is missing
- Dominant language
- Python
- Stars
- 46.9k
- Forks
- 17.8k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 483
Description
### Body
Recently we merged #48650 which added a new field to the DagRun generated datamodel
Unfortunately since we have forbid extra in the generated client this resulted in old clients failing to work with new servers, one of the things we are deliberately using Cadwyn to avoid.
And it does help, when we remember/know to use it.
To prevent this happening again we should add automated testing of previous versions of the API spec.
We'll likely need to commit the "released" API version (which as of today is 2025-03-19 and 2025-09-26) and then see if any changes are made to them when re-generating against the code in a PR.
Or maybe we can look at using [oasdiff/oasdiff](https://github.com/oasdiff/oasdiff/) to detect changes.
Regardless, we certainly need automated tooling to catch these errors.
### Committer
- [x] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
Contributor guide
Research direction
Start by reviewing #48650 and the generated DagRun datamodel, then compare the released API versions identified in the issue with the API spec regenerated from the current code. Evaluate whether committed historical specs or oasdiff provides the needed check; done means automated testing catches incompatible changes during a pull request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi, python
- Domain
- api, backend-api-design, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100