blob: b892a7a6ec8b78d9b53564541965ccf143a8750c [file] [log] [blame]
%% 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.
sequenceDiagram
CRON job -->> Airflow Repo: Nightly run
activate Airflow Repo
Note over Airflow Repo: Trigger PR build
Note over CI Build: push<br>[Write Token]
Note over Build Images: workflow_run<br>[Write Token]
Airflow Repo -->> CI Build: Trigger 'pull_request' event
activate CI Build
CI Build -->> Build Images: Trigger 'workflow_run' event
activate Build Images
Note over Build Images: Find Duplicate<br>[CI Build]
opt Duplicated builds
Build Images -->> CI Build: Cancel
end
Note over Build Images: Find Duplicates<br>[Build Image]
opt Duplicated builds
Build Images -->> Build Images: Cancel
end
Note over Build Images: Find failed<br>[CI Build]
opt Failed builds
Build Images -->> CI Build: Cancel
end
Note over Build Images: Find failed<br>[Build Image]
opt Failed builds
Build Images -->> Build Images: Cancel
end
Note over Build Images: Build info
par 3.6, 3.7, 3.8
Note over Build Images: Build from scratch
Note over Build Images: Update constraints
Note over Build Images: Build PROD Images<br>[GITHUB_RUN_ID]
and
Note over Build Images: Build from scratch
Note over Build Images: Update constraints
Note over Build Images: Build CI Images<br>[GITHUB_RUN_ID]
end
par No CI image
Note over CI Build: Build info
and
Note over CI Build: Test always!
and
Note over CI Build: Helm tests
and
Note over CI Build: OpenAPI client gen
end
par 3.6, 3.7, 3.8
Build Images ->> GitHub Registry: Push CI Images
activate GitHub Registry
and
Build Images ->> GitHub Registry: Push PROD Images
end
opt If any step failed
Build Images -->> CI Build: Cancel triggering run
end
deactivate Build Images
Note over GitHub Registry: Tagged Images<br>[GITHUB_RUN_ID]
loop Wait for images
par 3.6, 3.7, 3.8
CI Build ->> CI Build: Pull CI Images
Note over CI Build: Wait for<br>[GITHUB_RUN_ID]
and
CI Build ->> CI Build: Pull PROD Images
Note over CI Build: Wait for<br>[GITHUB_RUN_ID]
end
end
par 3.6, 3.7, 3.8
GitHub Registry ->> CI Build: Pull CI Images
and
GitHub Registry ->> CI Build: Pull PROD Images
end
deactivate GitHub Registry
par 3.6, 3.7, 3.8
Note over CI Build: Run static checks
and
Note over CI Build: Build docs
and
Note over CI Build: Spell check docs
and
Note over CI Build: Backport packages
and
Note over CI Build: Tests
and
Note over CI Build: Kubernetes Tests
end
Note over CI Build: Quarantined tests
Note over CI Build: Merge Coverage
CI Build -->> Coverage.io: Upload Coverage
par 3.6, 3.7, 3.8
CI Build ->> Airflow Repo: Push Constraints
end
CI Build ->> Airflow Repo: Push Nightly Tag
CI Build -->> Airflow Repo: Status Check for CI Build
deactivate Airflow Repo
deactivate CI Build