potiuk commented on pull request #9889: URL: https://github.com/apache/airflow/pull/9889#issuecomment-660943222
Hello. (also cc @ephraimbuddy who experienced problems with the previous requirement generation). I think I found a very good and workable solution for former "requirements" (now "constraints"). In short: - I keep constraints*.txt files in separate (orphaned) branches - similar to what github-pages does. This way "constraints" can evolve separately from the main code (for example constraint changes in master are kept in the `constraints-master` branch). Similarly 1.10 requirements will be kept in `constraints-1-10` branch. - The new "upgraded" constraints are pushed automatically by merge to master (or push to v1-10-test) - such pushes will always try to upgrade to latest constraints and in case tests pass, they will push a new commit to the `constraints-master` (or `constraint-1-10` branch. The commit will include run id and commit hash of the original commit from master/v1-10-test - so that we know which commit brought the new constraints in. This will only happen if all the tests are successful, so there is no risk we push any constraint change to that branch if any of the tests fail. - @kaxil @dimberman - for releases we will just have to tag the constraints with 'constraints-1.10.12` (for example) and this way our Dockerfiles and `pip install` will be able to use those "fixed" set of requirements - all the other properties of constraints/requirements are kept - we have open-ended setup.py requirements, but also a way to manage (fully automatically) a set of good, proven-by-tests constraint.txt files that can be used for repeatable/reproducible airflow installation and docker image generation. - last but not least: I used the opportunity to replace 'requirements' -> 'constraints' in all related places in docs, file names etc. - the "requirements" name was extremely confusing. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
