Skip to content

Commit

Permalink
Add embedding and whitespace jobs to buildkite (#41321)
Browse files Browse the repository at this point in the history
* 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

(cherry picked from commit a2af845)
  • Loading branch information
staticfloat committed Dec 22, 2022
1 parent 58c7331 commit bf2efe1
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 6 deletions.
34 changes: 34 additions & 0 deletions .buildkite/embedding.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# These steps should only run on `sandbox.jl` machines, not `docker`-isolated ones
# since we need nestable sandboxing. The rootfs images being used here are built from
# the `.buildkite/rootfs_images/llvm-passes.jl` file.
agents:
queue: "julia"
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "Run embedding tests"
key: embedding
plugins:
- JuliaCI/julia#v1:
version: 1.6
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v1/llvm-passes.tar.gz
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
uid: 1000
gid: 1000
commands: |
prefix="/tmp/prefix"
echo "+++ Build julia, deploy to $${prefix}"
make -j$${JULIA_NUM_CORES} JULIA_PRECOMPILE=0 prefix=$${prefix} install
embedding_output="/tmp/embedding-test"
echo "+++ Run embedding tests, deploy to $${embedding_output}"
mkdir -p "$${embedding_output}"
make -j$${JULIA_NUM_CORES} -C test/embedding JULIA="$${prefix}/bin/julia" BIN="$${embedding_output}"
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "embedding"
14 changes: 8 additions & 6 deletions .buildkite/llvm_passes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ agents:

steps:
- label: "analyzegc"
key: analyzegc
plugins:
- JuliaCI/julia#v1:
version: 1.6
Expand All @@ -17,13 +18,14 @@ steps:
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
commands: |
echo "--- Install in-tree LLVM dependencies"
make -j 6 -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
make -j$${JULIA_NUM_CORES} -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
echo "+++ run clangsa/analyzegc"
make -j 6 -C test/clangsa
make -j 6 -C src analyzegc
make -j$${JULIA_NUM_CORES} -C test/clangsa
make -j$${JULIA_NUM_CORES} -C src analyzegc
timeout_in_minutes: 60

- label: "llvmpasses"
key: llvmpasses
plugins:
- JuliaCI/julia#v1:
version: 1.6
Expand All @@ -34,7 +36,7 @@ steps:
gid: 1000
commands: |
echo "+++ run llvmpasses"
make -j 6 release
make -j 6 -C src install-analysis-deps
make -j 6 -C test/llvmpasses
make -j$${JULIA_NUM_CORES} release JULIA_PRECOMPILE=0
make -j$${JULIA_NUM_CORES} -C src install-analysis-deps
make -j$${JULIA_NUM_CORES} -C test/llvmpasses
timeout_in_minutes: 60
2 changes: 2 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
steps:
- label: ":buildkite: Launch unsigned pipelines"
commands: |
buildkite-agent pipeline upload .buildkite/whitespace.yml
buildkite-agent pipeline upload .buildkite/llvm_passes.yml
buildkite-agent pipeline upload .buildkite/embedding.yml
agents:
queue: julia
24 changes: 24 additions & 0 deletions .buildkite/whitespace.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# These steps should only run on `sandbox.jl` machines, not `docker`-isolated ones
# since we need nestable sandboxing. The rootfs images being used here are built from
# the `.buildkite/rootfs_images/llvm-passes.jl` file.
agents:
queue: "julia"
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "Check whitespace"
key: whitespace
plugins:
- JuliaCI/julia#v1:
version: 1.6
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v1/llvm-passes.tar.gz
rootfs_treehash: "f3ed53f159e8f13edfba8b20ebdb8ece73c1b8a8"
commands: |
make -j$${JULIA_NUM_CORES} check-whitespace
timeout_in_minutes: 10
notify:
- github_commit_status:
context: "whitespace"

0 comments on commit bf2efe1

Please sign in to comment.