New TiChiBot service for pull requests

Plan

Milestone Features Estimated date
New-Deploy Latest Prow features 2022-12-16
Take-Over TiChi controll pre-merge CI builds and enable batch merging on pingcap/tidb repo 2022-12-30
Take-Over2 TiChi controll post-merge CI builds on pingcap/tidb repo 2023-01-30
Full-Control TiChi controls all Jenkins CI builds for all public repository 2023-03-30

Before

  • Old origin Prow components and plugins

  • ti-community-* external plugins based on old k8s.io/test-infra codes

  • Hacked tide component base on https://github.com/kubernetes/test-infra/ at 2022-01-29 old

  • Core CI Pipeline triggers controlled by Jenkins Controller (ci.pingcap.net, ci2.pingcap.net, do.pingcap.net/jenkins)

    • Most trigger comments were delivered to Jenkins, faked to Prow command styles.
  • To avoid feature conflicts:

    • Enabled Require branches to be up to date before merging in Github branch protection.

    • Using ti-community-tar to fresh other opened pull requests when new commits pushed to base branch (another PR merged).

  • TiChiBot lacks capabilities for batch merging pull requests:

    • Prow is old

    • Core CI pipelines are not controlled by itself.
      asynccode

After

  • New origin Prow components and plugins: v202212*

  • ti-community-* external plugins based k8s.io/test-infra with v0.0.0-202212*

  • Hacked tide component based on https://github.com/kubernetes/test-infra/ at 2022-12-06

  • Core CI Pipeline triggers controlled by TiChiBot(Prow backend), other heavy CI services will act as backend workers for Prow with Jenkins-Operator (for Jenkins) and pipeline (for TektonCD) third components

  • TiChiBot will own capabilities for batch merging pull requests:

  • To avoid feature conflicts

    • Prow Tide test multi pull requests at same time(pre-merged together)
  • Trigger CI jobs smartly with the ability of prow

    • By changing scopes

    • Blocked by label

  • Better experience

    • For rerun failed jobs.

References

Hi everyone, We are happy to announce that Take-Over2: TiChi controll post-merge CI builds on pingcap/tidb repo has been launched.
For more details, please see TiChi controll post-merge CI builds on pingcap/tidb repo.