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

title Trusted Firmware CI core jobs

participant tf-ci-gateway
note over tf-ci-gateway: clones all repositories
note over tf-ci-gateway: generates test files
tf-ci-gateway->+tf-worker: triggers for each test file
activate tf-ci-gateway

alt Juno run
tf-worker->+tf-build-for-lava: triggers build
note over tf-build-for-lava: archives artefacts
tf-build-for-lava->-tf-worker: build complete

note over tf-worker: copies artefacts
tf-worker->+LAVA: submit job
LAVA->-tf-worker: completes
else FVP run
note over tf-worker: Build package
note over tf-worker: Run package
end

tf-worker->-tf-ci-gateway: test complete
deactivate tf-ci-gateway

note over tf-ci-gateway: generate test report
note over tf-ci-gateway: clean up checkouts
