diff --git a/.buildkite/embedding.yml b/.buildkite/embedding.yml new file mode 100644 index 0000000000000..a7cd2611033e5 --- /dev/null +++ b/.buildkite/embedding.yml @@ -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" diff --git a/.buildkite/llvm_passes.yml b/.buildkite/llvm_passes.yml index 862f748c18499..7beb30e418bb2 100644 --- a/.buildkite/llvm_passes.yml +++ b/.buildkite/llvm_passes.yml @@ -9,6 +9,7 @@ agents: steps: - label: "analyzegc" + key: analyzegc plugins: - JuliaCI/julia#v1: version: 1.6 @@ -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 @@ -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 diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index d76f3fd77bd4f..0dee5f2aaa3f7 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -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 diff --git a/.buildkite/whitespace.yml b/.buildkite/whitespace.yml new file mode 100644 index 0000000000000..94dcac590a8ca --- /dev/null +++ b/.buildkite/whitespace.yml @@ -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"