potiuk opened a new issue, #59640:
URL: https://github.com/apache/airflow/issues/59640

   Our CI is designed in the way so that all the tests should be locally 
reproducible. Generally speaking (with some very weird exceptions related to 
resource constraints like memory, kernel used and local networking / filesystem 
setup) - the tests that we run in CI use `breeze` CI image as a base for 
containers where they run and they use `breeze` commands to run the steps. 
   
   
   It sometimes requires some prerequisites (like building an image) and in 
many cases the flags to breeze commands in CI are passed through environment 
variables, so it is not straightforward how to reproduce things out-of-the-box 
- you need to stitch together a few different sources of information.
   
   Also, we have `breeze ci-image load` method that has `--from-pr` and 
`--from-job` parameters that can be used to pull the image that was used in CI 
for a given PR or job and use it locally - for even greater reproducibility 
because you would not need to build the image locally (providing that you run 
the tests on the same architecture).
   
   It would be really great if each CI step would print the exact instructions 
on how to reproduce it - with all the prerequisites and such. This should be 
rather uncomplicated. We just need to:
   
   * determine if image is needed (we already have that as we run appropriate 
check in each command) 
   * generate the right `breeze ci-image build ` and `breeze ci-image load` in 
this case
   * convert all the environment variables that are passed to CI jobs and steps 
into `--flags` including parallelism if needed (number of cores) 
   * clearly print in prominent place "HOW TO REPRODUCE IT LOCALLY' section  - 
visually distinct with color and separation so that it is clearer what commands 
need to be run to reproduce the step.
   


-- 
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]

Reply via email to