You can see here the sequence diagrams of the flow happening during the CI Jobs.
sequenceDiagram Note over Airflow Repo: pull request Note over Tests: pull_request<br>[Read Token] Note over Build Images: pull_request_target<br>[Write Token] activate Airflow Repo Airflow Repo -->> Tests: Trigger 'pull_request' activate Tests Tests -->> Build Images: Trigger 'pull_request_target' activate Build Images Note over Build Images: Build info<br>Decide which Python Note over Tests: Build info<br>Decide on tests<br>Decide on Matrix (selective) Note over Tests: Skip Build<br>(Runs in 'Build Images')<br>CI Images Note over Tests: Skip Build<br>(Runs in 'Build Images')<br>PROD Images par GitHub Registry ->> Build Images: Pull CI Images<br>[latest] Note over Build Images: Build CI Images<br>[COMMIT_SHA]<br>Use latest constraints<br>or upgrade if setup changed and Note over Tests: OpenAPI client gen and Note over Tests: Test UI and Note over Tests: Test examples<br>PROD image building end Build Images ->> GitHub Registry: Push CI Images<br>[COMMIT_SHA] loop Wait for CI images GitHub Registry ->> Tests: Pull CI Images<br>[COMMIT_SHA] end Note over Tests: Verify CI Images<br>[COMMIT_SHA] par GitHub Registry ->> Build Images: Pull PROD Images<br>[latest] Note over Build Images: Build PROD Images<br>[COMMIT_SHA] and opt Note over Tests: Run static checks end and opt Note over Tests: Run basic <br>static checks end and opt Note over Tests: Build docs end and opt Note over Tests: Tests end and opt Note over Tests: Test provider <br>packages build end and opt Note over Tests: Helm tests end end Build Images ->> GitHub Registry: Push PROD Images<br>[COMMIT_SHA] deactivate Build Images loop Wait for PROD images GitHub Registry ->> Tests: Pull PROD Images<br>[COMMIT_SHA] end Note over Tests: Verify PROD Image<br>[COMMIT_SHA] par opt Note over Tests: Run Kubernetes<br>tests end and opt Note over Tests: Run Kubernetes<br>upgrade tests end end opt Note over Tests: Generate constraints end Tests -->> Airflow Repo: Status update deactivate Airflow Repo deactivate Tests
sequenceDiagram Note over Airflow Repo: pull request Note over Tests: pull_request<br>[Read Token] Note over Build Images: pull_request_target<br>[Write Token] activate Airflow Repo Airflow Repo -->> Tests: Trigger 'pull_request' activate Tests Tests -->> Build Images: Trigger 'pull_request_target' activate Build Images Note over Build Images: Build info Note over Build Images: Skip Build<br>(Runs in 'Tests')<br>CI Images Note over Build Images: Skip Build<br>(Runs in 'Tests')<br>PROD Images deactivate Build Images Note over Tests: Build info<br>Decide on tests<br>Decide on Matrix (selective) par GitHub Registry ->> Tests: Pull CI Images<br>[latest] Note over Tests: Build CI Images<br>[COMMIT_SHA]<br>Use latest constraints<br>or upgrade if setup changed and Note over Tests: OpenAPI client gen and Note over Tests: Test UI and Note over Tests: Test examples<br>PROD image building end Tests ->> GitHub Registry: Push CI Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull CI Images<br>[COMMIT_SHA] Note over Tests: Verify CI Image<br>[COMMIT_SHA] par GitHub Registry ->> Tests: Pull PROD Images<br>[latest] Note over Tests: Build PROD Images<br>[COMMIT_SHA] and opt Note over Tests: Run static checks end and opt Note over Tests: Run basic <br>static checks end and opt Note over Tests: Build docs end and opt Note over Tests: Tests end and opt Note over Tests: Test provider <br>packages build end and opt Note over Tests: Helm tests end end Tests ->> GitHub Registry: Push PROD Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull PROD Image<br>[COMIT_SHA] Note over Tests: Verify PROD Image<br>[COMMIT_SHA] par opt Note over Tests: Run Kubernetes <br>tests end and opt Note over Tests: Run Kubernetes <br>upgrade tests end end opt Note over Tests: Generate constraints end Tests -->> Airflow Repo: Status update deactivate Airflow Repo deactivate Tests
sequenceDiagram Note over Airflow Repo: pull request Note over Tests: push<br>[Write Token] activate Airflow Repo Airflow Repo -->> Tests: Trigger 'push' activate Tests Note over Tests: Build info<br>All tests<br>Full matrix par GitHub Registry ->> Tests: Pull CI Images<br>[latest] Note over Tests: Build CI Images<br>[COMMIT_SHA]<br>Always upgrade deps and Note over Tests: OpenAPI client gen and Note over Tests: Test UI and Note over Tests: Test examples<br>PROD image building end Tests ->> GitHub Registry: Push CI Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull CI Images<br>[COMMIT_SHA] Note over Tests: Verify CI Image<br>[COMMIT_SHA] par GitHub Registry ->> Tests: Pull PROD Images<br>[latest] Note over Tests: Build PROD Images<br>[COMMIT_SHA] and opt Note over Tests: Run static checks end and opt Note over Tests: Run basic <br>static checks end and opt Note over Tests: Build docs end and opt Note over Tests: Tests end and opt Note over Tests: Test provider <br>packages build end and opt Note over Tests: Helm tests end end Tests ->> GitHub Registry: Push PROD Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull PROD Image<br>[COMMIT_SHA] Note over Tests: Verify PROD Image<br>[COMMIT_SHA] par opt Note over Tests: Run Kubernetes <br>tests end and opt Note over Tests: Run Kubernetes <br>upgrade tests end end Note over Tests: Generate constraints opt In merge run? Tests ->> Airflow Repo: Push constraints if changed end opt In merge run? GitHub Registry ->> Tests: Pull CI Image<br>[latest] Note over Tests: Build CI Images<br>[latest]<br>Use latest constraints Tests ->> GitHub Registry: Push CI Image<br>[latest] GitHub Registry ->> Tests: Pull PROD Image<br>[latest] Note over Tests: Build PROD Images<br>[latest] Tests ->> GitHub Registry: Push PROD Image<br>[latest] end Tests -->> Airflow Repo: Status update deactivate Airflow Repo deactivate Tests
sequenceDiagram Note over Airflow Repo: scheduled Note over Tests: push<br>[Write Token] activate Airflow Repo Airflow Repo -->> Tests: Trigger 'schedule' activate Tests Note over Tests: Build info<br>All tests<br>Full matrix par GitHub Registry ->> Tests: Pull CI Images<br>[latest] Note over Tests: Build CI Images<br>[COMMIT_SHA]<br>Always upgrade deps and Note over Tests: OpenAPI client gen and Note over Tests: Test UI and Note over Tests: Test examples<br>PROD image building end Tests ->> GitHub Registry: Push CI Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull CI Images<br>[COMMIT_SHA] Note over Tests: Verify CI Image<br>[COMMIT_SHA] par GitHub Registry ->> Tests: Pull PROD Images<br>[latest] Note over Tests: Build PROD Images<br>[COMMIT_SHA] and opt Note over Tests: Run static checks end and opt Note over Tests: Run basic <br>static checks end and opt Note over Tests: Build docs end and opt Note over Tests: Tests end and opt Note over Tests: Test provider <br>packages build end and opt Note over Tests: Helm tests end end Tests ->> GitHub Registry: Push PROD Images<br>[COMMIT_SHA] GitHub Registry ->> Tests: Pull PROD Image<br>[COMMIT_SHA] Note over Tests: Verify PROD Image<br>[COMMIT_SHA] par opt Note over Tests: Run Kubernetes <br>tests end and opt Note over Tests: Run Kubernetes <br>upgrade tests end end Note over Tests: Generate constraints Tests ->> Airflow Repo: Push constraints if changed GitHub Registry ->> Tests: Pull CI Image<br>[latest] Note over Tests: Build CI Images<br>[latest]<br>Use latest constraints Tests ->> GitHub Registry: Push CI Image<br>[latest] GitHub Registry ->> Tests: Pull PROD Image<br>[latest] Note over Tests: Build PROD Images<br>[latest] Tests ->> GitHub Registry: Push PROD Image<br>[latest] Tests -->> Airflow Repo: Status update deactivate Airflow Repo deactivate Tests