potiuk commented on pull request #18037: URL: https://github.com/apache/airflow/pull/18037#issuecomment-913152498
> we would have never known that python slim-buster suddenly without any warning dropped python2 from their image BTW. This is the perfect example of why I setup our CI in this way with constraints and image cache (including caching the base python image). Our `main` builds (both merges and "scheduled" builds) have the setting to a) use latest released python image as a base and b) rebuild the image from scratch and c) use "eager-upgrade" strategy. This is to catch exactly those kind of changes where some external dependency break our tests (and likely breaks our promises). The whole "constraints" mechanism for CI is built around that to catch precisely this kind of error in a gentle way - so that when such builds fail in main, we have the time to fix it (like we do now) rather than scramble to diagnose and fix them when all PRs suddenly start failing at once and we do not know why. At the same time, we automatically upgrade all our dependencies to the latest versions including all security fixes applied. This is the exact case that the complexity of our CI build is justification of. You might think of it as an edge case, but actually it prevents from mysterious errors which are extremely difficult to diagnose (because your base image dependency version changed from 3.6.8 to 3.6.9). This happened already several times in the past that there was "some" change in the base image that caused our tests to fail (and our promises to be broken). I really hate the situation where "someone" makes a change that breaks "our" promises and we are not even aware of it. -- 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]
