Skip to content

Commit 4000030

Browse files
committed
CI (Buildkite): Add package_linux$ARCH and tester_linux$ARCH for more Linux architectures
1 parent f7f46af commit 4000030

File tree

4 files changed

+106
-93
lines changed

4 files changed

+106
-93
lines changed

.buildkite/pipelines/main/launch_unsigned_builders.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ steps:
2424
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/llvmpasses.yml
2525
2626
# Finally, we launch the platform builders (`package_*`) and (`tester_*`) in alphabetical order.
27-
buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux64.yml
27+
# ARCH=aarch64 ROOTFS_ARCH=aarch64 ROOTFS_TAG_PACK=v3.2 ROOTFS_TREE_PACK=0566841e29f0f9880541c26a6595fd5ce0beb5ff ROOTFS_TAG_TEST=v3.2 ROOTFS_TREE_TEST=d38f34db72317ffa798b18b0c8e193795bb254db buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux.yml
28+
# ARCH=armv7l ROOTFS_ARCH=armv7l ROOTFS_TAG_PACK=v3.2 ROOTFS_TREE_PACK=fb359370b052a47ce5c84cc6b4a7a03ed7053b25 ROOTFS_TAG_TEST=v3.2 ROOTFS_TREE_TEST=11c66f1c3a094e031fae6a9de0fa7986459466b6 buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux.yml
29+
ARCH=32 ROOTFS_ARCH=i686 ROOTFS_TAG_PACK=v3.2 ROOTFS_TREE_PACK=209c4db679a515befd7fb50ecc6bfbecf7ec3d32 ROOTFS_TAG_TEST=v3.2 ROOTFS_TREE_TEST=b63e7f1002f093dc51390cd8f4a6368ea929560f buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux.yml
30+
# ARCH=ppc64le ROOTFS_ARCH=powerpc64le ROOTFS_TAG_PACK=v3.2 ROOTFS_TREE_PACK=c03a0158b19d48ac84b426834fce0d3584cdd0c7 ROOTFS_TAG_TEST=v3.2 ROOTFS_TREE_TEST=0b23a48bb5ed4b3226ebceea18375a2b09caf34d buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux.yml
31+
ARCH=64 ROOTFS_ARCH=x86_64 ROOTFS_TAG_PACK=v3.2 ROOTFS_TREE_PACK=474bf61a926b2d7fcf202284d59d4b11a04601d7 ROOTFS_TAG_TEST=v3.2 ROOTFS_TREE_TEST=b1b1fce0b76b2dbe41222093f2f9f3f8e226018d buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux.yml
2832
agents:
2933
queue: julia
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
agents:
2+
queue: "julia"
3+
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
4+
sandbox.jl: "true"
5+
os: "linux"
6+
7+
steps:
8+
- label: "package_linux$ARCH"
9+
key: package_linux$ARCH
10+
plugins:
11+
- JuliaCI/julia#v1:
12+
version: 1.6
13+
- staticfloat/sandbox#v1:
14+
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/$ROOTFS_TAG_PACK/package_linux.$ROOTFS_ARCH.tar.gz
15+
rootfs_treehash: "$ROOTFS_TREE_PACK"
16+
uid: 1000
17+
gid: 1000
18+
workspaces:
19+
# Include `/cache/repos` so that our `git` version introspection works.
20+
- "/cache/repos:/cache/repos"
21+
commands: |
22+
echo "--- Print the full and short commit hashes"
23+
SHORT_COMMIT_LENGTH=10
24+
SHORT_COMMIT=`echo $$BUILDKITE_COMMIT | cut -c1-$$SHORT_COMMIT_LENGTH`
25+
JULIA_DIRECTORY_NAME="julia-$$SHORT_COMMIT"
26+
ARTIFACT_FILE_EXTENSION="tar.gz"
27+
JULIA_BINARYDIST_FILENAME=`make print-JULIA_BINARYDIST_FILENAME | cut -c27-`
28+
ARTIFACT_FILENAME="$$JULIA_BINARYDIST_FILENAME.$$ARTIFACT_FILE_EXTENSION"
29+
echo "The full commit is: $$BUILDKITE_COMMIT"
30+
echo "The short commit is: $$SHORT_COMMIT"
31+
echo "The Julia directory name will be: $$JULIA_DIRECTORY_NAME"
32+
echo "The artifact filename will be: $$ARTIFACT_FILENAME"
33+
34+
echo "--- Build Julia from source"
35+
make -j 6
36+
make release
37+
make install
38+
39+
echo "--- Print Julia version info"
40+
./julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
41+
42+
echo "--- Compress build artifacts"
43+
ls -ld $$JULIA_DIRECTORY_NAME/
44+
rm -rf $$ARTIFACT_FILENAME
45+
tar czf $$ARTIFACT_FILENAME $$JULIA_DIRECTORY_NAME/
46+
ls -l $$ARTIFACT_FILENAME
47+
48+
echo "--- Upload build artifacts"
49+
buildkite-agent artifact upload $$ARTIFACT_FILENAME
50+
timeout_in_minutes: 60
51+
notify:
52+
- github_commit_status:
53+
context: "package_linux$ARCH"
54+
55+
- label: "tester_linux$ARCH"
56+
key: tester_linux$ARCH
57+
depends_on: package_linux$ARCH
58+
plugins:
59+
- JuliaCI/julia#v1:
60+
version: 1.6
61+
- staticfloat/sandbox#v1:
62+
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/$ROOTFS_TAG_TEST/tester_linux.$ROOTFS_ARCH.tar.gz
63+
rootfs_treehash: "$ROOTFS_TREE_TEST"
64+
uid: 1000
65+
gid: 1000
66+
workspaces:
67+
# Include `/cache/repos` so that our `git` version introspection works.
68+
- "/cache/repos:/cache/repos"
69+
env:
70+
JULIA_SHELL: "/bin/bash"
71+
commands: |
72+
echo "--- Print the full and short commit hashes"
73+
SHORT_COMMIT_LENGTH=10
74+
SHORT_COMMIT=`echo $$BUILDKITE_COMMIT | cut -c1-$$SHORT_COMMIT_LENGTH`
75+
JULIA_DIRECTORY_NAME="julia-$$SHORT_COMMIT"
76+
ARTIFACT_FILE_EXTENSION="tar.gz"
77+
ARTIFACT_FILENAME="julia-$$SHORT_COMMIT-linux$ARCH.$$ARTIFACT_FILE_EXTENSION"
78+
echo "The full commit is: $$BUILDKITE_COMMIT"
79+
echo "The short commit is: $$SHORT_COMMIT"
80+
echo "The Julia directory name will be: $$JULIA_DIRECTORY_NAME"
81+
echo "The artifact filename will be: $$ARTIFACT_FILENAME"
82+
83+
echo "--- Download build artifacts"
84+
rm -rf $$ARTIFACT_FILENAME
85+
buildkite-agent artifact download $$ARTIFACT_FILENAME .
86+
87+
echo "--- Extract build artifacts"
88+
rm -rf $$JULIA_DIRECTORY_NAME/
89+
tar xzf $$ARTIFACT_FILENAME $$JULIA_DIRECTORY_NAME/
90+
91+
echo "--- Print Julia version info"
92+
$$JULIA_DIRECTORY_NAME/bin/julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
93+
94+
echo "--- Run the Julia test suite"
95+
unset JULIA_DEPOT_PATH
96+
$$JULIA_DIRECTORY_NAME/bin/julia .buildkite/utilities/rr/rr_capture.jl $$JULIA_DIRECTORY_NAME/bin/julia -e 'Base.runtests(["all"]; ncores = Sys.CPU_THREADS)'
97+
timeout_in_minutes: 120
98+
notify:
99+
- github_commit_status:
100+
context: "tester_linux$ARCH"

.buildkite/pipelines/main/platforms/linux64.yml

Lines changed: 0 additions & 90 deletions
This file was deleted.

.buildkite/utilities/rr/rr_capture.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ const use_rr = builder == use_rr_if_builder_is
2323
@info "" run_id shortcommit builder use_rr
2424
@info "" ARGS
2525

26-
# if !use_rr # TODO: uncomment this line
27-
if true # TODO: delete this line
26+
if !use_rr
2827
@info "We will not run the tests under rr"
2928
p = run(`$ARGS`)
3029
exit(p.exitcode)

0 commit comments

Comments
 (0)