# This is to be pasted on to websequencediagrams.com to get the sequence
# diagram of current CI setup

title Trusted Firmware A Open CI Flow


participant trigger-job
trigger-job->+tf-ci-gateway: TEST_GROUPS
tf-ci-gateway->+tf-a-builder: TEST_DESC
tf-a-builder->+builders.sh:
builders.sh->+run_local_ci.sh:
note over run_local_ci.sh: Build package
note over run_local_ci.sh: Generate LAVA job
run_local_ci.sh->+builders.sh:
builders.sh->+tf-a-builder:
tf-a-builder->+LAVA: Submit LAVA job
note over LAVA: Execute LAVA job
LAVA->+tf-a-builder:
tf-a-builder->+tf-ci-gateway:
tf-ci-gateway->+trigger-job:
