Skip to content

Commit eb36a18

Browse files
committed
Merge llvmorg-22.1.0 into sycl_rel-7_0
2 parents c2a80d1 + 201526d commit eb36a18

4,994 files changed

Lines changed: 990175 additions & 829389 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ci/buildbot/README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# ScriptedBuilder Buildbot Workers
2+
3+
This directory contains code shared by LLVM Buildbot workers. The typical
4+
pipeline of a ScriptedBuilder-based builder is as follows.
5+
6+
1. A commit is pushed to [main](https://github.com/llvm/llvm-project/tree/main)
7+
8+
2. The [Buildbot master](https://lab.llvm.org/) polls the repository and finds
9+
new commits. It schedules build requests on every relevant worker.
10+
Alternatively, a build request of a specific llvm-project commit can be
11+
created using the "Force Build" or "Rebuild" buttons.
12+
13+
3. When a worker is ready, the master sends the build steps determined by
14+
[ScriptedBuilder](https://github.com/llvm/llvm-zorg/blob/main/zorg/buildbot/builders/ScriptedBuilder.py)
15+
to the worker.
16+
17+
4. The checkout step checks out llvm-project commit into a directory named
18+
`llvm.src` on the worker.
19+
20+
5. The annotate step executes a predefined Python script from the llvm-project
21+
source tree on the worker. Its working directory is an initially empty
22+
sibling directory named `build`. The argument `--workdir=.` is passed to
23+
override the default build directory (which is different to avoid
24+
accidentally spilling clutter into the cwd)
25+
26+
6. The script is expected to use the utilities from
27+
[`worker.py`](https://github.com/llvm/llvm-project/blob/main/.ci/buildbot/worker.py)
28+
to build LLVM. The `with w.step("stepname"):` pattern is used to visually
29+
separate additional steps in the [Buildbot GUI](https://lab.llvm.org/).
30+
31+
32+
## Reproducing Builds
33+
34+
Users can execute the worker script directly to reproduce a build problem with
35+
a worker using the llvm-project source tree in which it is located. By default
36+
it will use a new directory with `.workdir` suffix (so it can be
37+
`.gitignore`-ignored) next to the script as build directory.
38+
39+
The ScriptedBuilder system tries to keep all worker/build settings within the
40+
script, but some parameters can be overridden using command line parameters.
41+
For instance, `--jobs` overrides the Ninja and llvm-lit `-j` argument that the
42+
worker would use. Script should be written to honor these overrides where they
43+
apply, and may also add additional ones.
44+
45+
See
46+
[`worker.py`](https://github.com/llvm/llvm-project/blob/main/.ci/buildbot/worker.py)
47+
or a
48+
[reference script](https://github.com/llvm/llvm-project/blob/main/polly/polly-x86_64-linux-test-suite)
49+
for further details.

0 commit comments

Comments
 (0)