Skip to content

Commit a2af845

Browse files
authored
Add embedding and whitespace jobs to buildkite (#41321)
* Add "Check whitespace" buildkite job * Add `key` values for later `wait` blocks * Add "embedding tests" to buildkite configuration * Eliminate unnecessary work in buildkite builds Don't bother to precompile the Julia system image like we normally would want to if we're just going to run things once. Also use `JULIA_NUM_CORES` instead of hard-coding `-j 6` into the buildsystem. * Update embedding.yml * Update whitespace.yml
1 parent 4733c00 commit a2af845

File tree

4 files changed

+68
-6
lines changed

4 files changed

+68
-6
lines changed

Diff for: .buildkite/embedding.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# These steps should only run on `sandbox.jl` machines, not `docker`-isolated ones
2+
# since we need nestable sandboxing. The rootfs images being used here are built from
3+
# the `.buildkite/rootfs_images/llvm-passes.jl` file.
4+
agents:
5+
queue: "julia"
6+
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
7+
sandbox.jl: "true"
8+
os: "linux"
9+
10+
steps:
11+
- label: "Run embedding tests"
12+
key: embedding
13+
plugins:
14+
- JuliaCI/julia#v1:
15+
version: 1.6
16+
- staticfloat/sandbox#v1:
17+
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v1/llvm-passes.tar.gz
18+
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
19+
uid: 1000
20+
gid: 1000
21+
commands: |
22+
prefix="/tmp/prefix"
23+
echo "+++ Build julia, deploy to $${prefix}"
24+
make -j$${JULIA_NUM_CORES} JULIA_PRECOMPILE=0 prefix=$${prefix} install
25+
26+
embedding_output="/tmp/embedding-test"
27+
echo "+++ Run embedding tests, deploy to $${embedding_output}"
28+
mkdir -p "$${embedding_output}"
29+
make -j$${JULIA_NUM_CORES} -C test/embedding JULIA="$${prefix}/bin/julia" BIN="$${embedding_output}"
30+
31+
timeout_in_minutes: 60
32+
notify:
33+
- github_commit_status:
34+
context: "embedding"

Diff for: .buildkite/llvm_passes.yml

+8-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ agents:
99

1010
steps:
1111
- label: "analyzegc"
12+
key: analyzegc
1213
plugins:
1314
- JuliaCI/julia#v1:
1415
version: 1.6
@@ -17,13 +18,14 @@ steps:
1718
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
1819
commands: |
1920
echo "--- Install in-tree LLVM dependencies"
20-
make -j 6 -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
21+
make -j$${JULIA_NUM_CORES} -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
2122
echo "+++ run clangsa/analyzegc"
22-
make -j 6 -C test/clangsa
23-
make -j 6 -C src analyzegc
23+
make -j$${JULIA_NUM_CORES} -C test/clangsa
24+
make -j$${JULIA_NUM_CORES} -C src analyzegc
2425
timeout_in_minutes: 60
2526

2627
- label: "llvmpasses"
28+
key: llvmpasses
2729
plugins:
2830
- JuliaCI/julia#v1:
2931
version: 1.6
@@ -34,7 +36,7 @@ steps:
3436
gid: 1000
3537
commands: |
3638
echo "+++ run llvmpasses"
37-
make -j 6 release
38-
make -j 6 -C src install-analysis-deps
39-
make -j 6 -C test/llvmpasses
39+
make -j$${JULIA_NUM_CORES} release JULIA_PRECOMPILE=0
40+
make -j$${JULIA_NUM_CORES} -C src install-analysis-deps
41+
make -j$${JULIA_NUM_CORES} -C test/llvmpasses
4042
timeout_in_minutes: 60

Diff for: .buildkite/pipeline.yml

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
steps:
1515
- label: ":buildkite: Launch unsigned pipelines"
1616
commands: |
17+
buildkite-agent pipeline upload .buildkite/whitespace.yml
1718
buildkite-agent pipeline upload .buildkite/llvm_passes.yml
19+
buildkite-agent pipeline upload .buildkite/embedding.yml
1820
agents:
1921
queue: julia

Diff for: .buildkite/whitespace.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# These steps should only run on `sandbox.jl` machines, not `docker`-isolated ones
2+
# since we need nestable sandboxing. The rootfs images being used here are built from
3+
# the `.buildkite/rootfs_images/llvm-passes.jl` file.
4+
agents:
5+
queue: "julia"
6+
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
7+
sandbox.jl: "true"
8+
os: "linux"
9+
10+
steps:
11+
- label: "Check whitespace"
12+
key: whitespace
13+
plugins:
14+
- JuliaCI/julia#v1:
15+
version: 1.6
16+
- staticfloat/sandbox#v1:
17+
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v1/llvm-passes.tar.gz
18+
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
19+
commands: |
20+
make -j$${JULIA_NUM_CORES} check-whitespace
21+
timeout_in_minutes: 10
22+
notify:
23+
- github_commit_status:
24+
context: "whitespace"

0 commit comments

Comments
 (0)