[all-commits] [llvm/llvm-project] cf1a3d: Implement the monolithic CI pipeline in the monorepo

Louis Dionne via All-commits all-commits at lists.llvm.org
Tue Aug 29 10:31:48 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cf1a3d93581f4c4698accd4418a15399d8814bb8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-08-29 (Tue, 29 Aug 2023)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/generate-buildkite-pipeline-scheduled
    A .ci/monolithic-linux.sh
    A .ci/monolithic-windows.sh

  Log Message:
  Implement the monolithic CI pipeline in the monorepo

This basically inlines the logic that was previously located in
https://github.com/google/llvm-premerge-checks so it is part of
the monorepo. This has the benefit of making it extremely easy
for individual projects to understand and modify this logic for
their own needs, unlike the current model where this logic lives
in a separate non-LLVM repository.

It also allows testing changes to the CI configuration using a simple
Phabricator review, since the code that defines the CI pipeline is taken
from the patch under review.

This (or something equivalent) is necessary if we want to retain the
current monolithic pre-commit CI throughout the GitHub PR transition.
Since triggering the monolithic CI is currently attached to the system
we use for triggering CI pipelines from Phabricator, we will lose that
part of the CI when we move to GitHub PRs if we don't do anything.

I've decided to rewrite the code as a shell script because the logic
was fairly simple and it seemed a lot easier than figuring out how to
pull only the relevant parts of llvm-premerge-checks into the monorepo.
Furthermore, I think we should strive to move away from the monolithic
CI altogether since sub-projects should understand, own and maintain the
tests that are relevant for them to run in the CI (with LLVM providing
the infrastructure). Hence, this is somewhat of a temporary solution
until monolithic CI is removed entirely.

Differential Revision: https://reviews.llvm.org/D158863

More information about the All-commits mailing list