Apache Flink's is powered by Azure pipelines and currently hosted by Ververica/Alibaba.
AzureCI requires write access to the repository, but the Apache Foundation has certain restrictions who's able to access the public repository. Therefore, a workaround is provided that requires multiple Github repositories:
apache/flink
. The AzureCI account has access to this repository and can run CI builds on the corresponding code base.apache/flink
for PR branch synchronization. PR CI runs don't have the CI secrets configured. Tests requiring secrets will only run on master
and the release branches.apache/flink
and flink-ci/flink-mirror
. This script is still in use to synchronize master
and the release branches of the two most-recently published Flink versions. The actually script execution is hosted on Ververica-hosted machine.apache/flink
. The bot is also in charge of updating the CI information of those PRs. The bot is hosted on a Ververica-hosted machine.pr-labeler
is deployed onto a Ververica-hosted machine.Builds for the apache/flink
repository run on Ververica-sponsored Azure account apache-flink
. The running builds can be accessed through the AzureCI web UI.
The jobs are defined in the apache/flink:azure-pipelines.yml. Several templates also exist in the apache/flink:tools/azure-pipelines/ directory.
Apache Flink's AzureCI has two different types of workers which are used for the CI runs (the agent that is used for running the job is usually logged in the first line of a job run's log):
There are plans to migrate from AzureCI to Github Actions to provide a better integrated look-and-feel for developers (). This would also enable us to get rid of flink-ci/cibot
and flink-ci/git-repo-sync
.
Defined environment variables are usually controlled by the PMC; if you require access to the original keys please reach out to the PMC. Please do not add additional keys without prior notice, nor pass them on to other people as they are for the most part credentials to sponsored resources.