Context
With Travis CI, our builds are limited to Apache org's quota which is shared by many other Apache projects, which resulted in long waiting time and merging PRs becoming an unbearable process. Inspired by Apache Flink's approach, we are setting up a similar CI infrastructure by making use of Azure DevOps and Google Cloud's Compute Engine.
Overview
We created https://github.com/apachehudi-ci to manage all CI-related repositories.
- https://github.com/apachehudi-ci/hudi-mirror
- This repo mirrors the official repo (apache/hudi) for building commits merged into master and release-* branches
- https://github.com/apachehudi-ci/hudi-branch-ci
- This repo is for building branches created by PRs
- Its master branch stays at the commit when it's created and does not need to sync with the official repo; the repo is only used as a host for building branches
The diagram below gives an overview of the infrastructure.