Add common code and utils to implement ER pre-commit in a clearer way #35875
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Extracts comon initialization code for pre-commits that allows to use a simpler way of running pre-commits with breeze ci image. Rather than running a custom
dockercommand, we are using thebreeze shellcommand to run the command inside the image. We are also fixing a problem where the ER diagram was generated using random backend - we force it now to use Postgres as backend.There are few small problems solved as part of it as well:
We are also switching the console used to be the standard colored one so that the output will use colors also in git hook and CI.
When image needs update we are going to warn about it in the builds that are "serial" (i.e. do not run in parallell) that the image should be upgraded. We are not doing it for checks that use parallelism because it would pollute the output too much (and those are usually not run with images anyway).
There was an error where pre-commit run with breeze would also start port-forwarding if database was started together with it, so pre-commit project no longer adds port forwarding for backends.
If there was a database stated as part of pre-commit project, it would continue running after pre-commit completed, which is undesireable. The pre-commit will now stop pre-commit project after completion.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in newsfragments.