potiuk opened a new pull request, #36333:
URL: https://github.com/apache/airflow/pull/36333

   Since we are getting more diagrams generated in Airflow using the "diagram 
as a code" approach, this PR improves the pre-commit to be more suitable to 
support generation of more of the images coming from different sources, placed 
in different directories and generated independently, so that the whole process 
is more distributed and easy for whoever creates diagrams to add their own 
diagram.
   
   The changes implemented in this PR:
   
   * the code to generate the diagrams is now next to the diagram they 
generate. It has the same name as the diagram, but it has the .py extension. 
This way it is immediately visible where is the source of each diagram (right 
next to each diagram)
   
   * each of the .py diagram Python files is runnable on its own. This way you 
can easily regenerate the diagrams by running corresponding Python file or even 
automate it by running "save" action and generate the diagrams automatically by 
running the Python code every time the file is saved. That makes a very nice 
workflow on iterating on each diagram, independently from each othere
   
   * the pre-commit script is given a set of folders which should be scanned 
and it finds and run the diagrams on pre-commmit. It also creates and verifies 
the md5sum hash of the source Python file separately for each diagram and only 
runs diagram generation when the source file changed vs. last time the hash was 
saved and committed. The hash sum is stored next to the image and sources with 
.md5sum extension
   
   Also updated documentation in the CONTRIBUTING.rst explaining how to 
generate the diagrams and what is the mechanism of that generation.
   
   <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
   
      http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
    -->
   
   <!--
   Thank you for contributing! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   In case of an existing issue, reference it using one of the following:
   
   closes: #ISSUE
   related: #ISSUE
   
   How to write a good git commit message:
   http://chris.beams.io/posts/git-commit/
   -->
   
   
   
   <!-- Please keep an empty line above the dashes. -->
   ---
   **^ Add meaningful description above**
   Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
 for more information.
   In case of fundamental code changes, an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in a 
newsfragment file, named `{pr_number}.significant.rst` or 
`{issue_number}.significant.rst`, in 
[newsfragments](https://github.com/apache/airflow/tree/main/newsfragments).
   


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