potiuk commented on PR #36763:
URL: https://github.com/apache/airflow/pull/36763#issuecomment-1890938007
Ok. I think I finally got it **right**... This is now not only reproducible
build for Python client, but one that will be easier to do maintenance of (now
and in the future when we potentially switch to newer generator or maybe even
decide to use different technology than connexion/ open api.
Maybe if we decide and experiment to run things with some code-first
approach (cc: @bbovenzi @aritra24 @RNHTTR -> might be handy for the potential
experiment/project of internship with MLH.
What this change brings:
* generation of API client is purely done in "apache/airflow" project - the
"apache/airflow-client-python" is merely a source code anyone might want to
look - but we generate the .whl and .sdist packages (with the source we put to
the client repo) entirely in airflow
* we also have - in airflow - the pyproject.toml and other files
(README/INSTALL etc.) that are needed to generate the packages - and simply
copy them over to the cllient repo so that anyone can take a look
* after generating the client in the "OpenAPI" job, we also run tests that
OpenAPI generator generates. This way wa can be
reasonably sure the generation works - here we can nicely reuse hatch and
pyproject.toml to run matrix of tests for all Python versions we support
* we also have integration tests for our API running in the same job. I've
used (again hatch / pyproject.toml made it a lot easier) to install airflow
locally, run scheduler, start webserver in the background and run the test
script we had for the API with it - this. way we will see if our Python client
works - right there tested in every PR.
* I also updated the relevant documentation - INSTAL guides, READMES, but I
also moved the "RELEASE" guide to Airflow repo and updated it heavily - it
shoudl be now way easier to run @ephraimbuddy - the packages can now be buit
either in docker container or - if you happen to have hatch installed locally
- it can be done with hatch as well.
So .. I thinl it's ready for final review :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]