Skip to content

Commit

Permalink
Merge pull request #42255 from JuliaLang/backports-release-1.7
Browse files Browse the repository at this point in the history
release-1.7: Backports for 1.7-rc2
  • Loading branch information
KristofferC committed Oct 19, 2021
2 parents 9eade61 + 12b9178 commit 28b7b06
Show file tree
Hide file tree
Showing 189 changed files with 2,919 additions and 3,371 deletions.
5 changes: 5 additions & 0 deletions .buildkite/cryptic_repo_keys/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Ignore the unencrypted repo_key
repo_key

# Ignore any agent keys (public or private) we have stored
agent_key*
4 changes: 1 addition & 3 deletions .buildkite/pipelines/experimental/0_webui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
agents:
queue: "julia"
sandbox.jl: "true"

steps:
- label: ":unlock: Unlock secrets, launch pipelines"
plugins:
Expand All @@ -16,9 +15,8 @@ steps:
# pipelines.
unsigned_pipelines:
- .buildkite/pipelines/experimental/launch_unsigned_builders.yml

# Our signed pipelines must have a `signature` or `signature_file` parameter that
# verifies the treehash of the pipeline itself and the inputs listed in `inputs`
# signed_pipelines:
# - pipeline: .buildkite/pipelines/experimental/misc/foo_bar_baz.yml
# signature: "my_signature"
# signature_file: .buildkite/pipelines/experimental/misc/foo_bar_baz.yml.signature
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
steps:
- label: ":buildkite: Launch unsigned pipelines"
commands: |
buildkite-agent pipeline upload .buildkite/pipelines/experimental/misc/sanitizers.yml
true
agents:
queue: julia
1 change: 0 additions & 1 deletion .buildkite/pipelines/main/0_webui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
agents:
queue: "julia"
sandbox.jl: "true"

steps:
- label: ":unlock: Unlock secrets, launch pipelines"
plugins:
Expand Down
18 changes: 11 additions & 7 deletions .buildkite/pipelines/main/launch_unsigned_builders.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,21 @@
# something about the privileged steps.

steps:
- label: ":buildkite: Launch unsigned builders"
- label: ":buildkite: Launch unsigned jobs"
commands: |
# First, we launch the `whitespace` builder, because we want that builder to finish as quickly as possible.
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/whitespace.yml
# Next, we launch the miscellaneous builders in alphabetical order.
# Launch the miscellaneous jobs in alphabetical order.
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/doctest.yml
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/embedding.yml
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/llvmpasses.yml
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/sanitizers.yml
# Finally, we launch the platform builders (`package_*`) and (`tester_*`) in alphabetical order.
buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux64.yml
# Launch all of the platform jobs.
bash .buildkite/utilities/platforms/platforms.sh .buildkite/pipelines/main/platforms/package_linux.arches .buildkite/pipelines/main/platforms/package_linux.yml
bash .buildkite/utilities/platforms/platforms.sh .buildkite/pipelines/main/platforms/tester_linux.arches .buildkite/pipelines/main/platforms/tester_linux.yml
# Launch the `whitespace` job last. Uploading it last actually causes it to start
# first. We want this job to start first because we want it to finish as quickly
# as possible.
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/whitespace.yml
agents:
queue: julia
10 changes: 4 additions & 6 deletions .buildkite/pipelines/main/misc/doctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ agents:
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "doctest"
key: doctest
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.1/package_linux.x86_64.tar.gz
rootfs_treehash: "8c33c341a864852629b8aac01a6eb6a79b73570e"
Expand All @@ -20,7 +21,7 @@ steps:
- "/cache/repos:/cache/repos"
commands: |
echo "--- Build Julia from source"
make -j 6
make --output-sync -j 6
echo "--- Print Julia version info"
./julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'
Expand All @@ -31,6 +32,3 @@ steps:
echo "--- Run Julia doctests"
JULIA_NUM_THREADS=1 make -C doc doctest=true
timeout_in_minutes: 45
notify:
- github_commit_status:
context: "doctest"
19 changes: 8 additions & 11 deletions .buildkite/pipelines/main/misc/embedding.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ agents:
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "embedding"
key: "embedding"
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.1/package_linux.x86_64.tar.gz
rootfs_treehash: "8c33c341a864852629b8aac01a6eb6a79b73570e"
Expand All @@ -20,15 +21,11 @@ steps:
- "/cache/repos:/cache/repos"
commands: |
prefix="/tmp/prefix"
echo "+++ Build julia, deploy to $${prefix}"
make -j$${JULIA_NUM_CORES} JULIA_PRECOMPILE=0 prefix=$${prefix} install
echo "+++ Build julia, deploy to $${prefix:?}"
make --output-sync -j$${JULIA_CPU_THREADS:?} 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}"
echo "+++ Run embedding tests, deploy to $${embedding_output:?}"
mkdir -p "$${embedding_output:?}"
make --output-sync -j$${JULIA_CPU_THREADS:?} -C test/embedding JULIA="$${prefix:?}/bin/julia" BIN="$${embedding_output:?}"
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "embedding"
28 changes: 12 additions & 16 deletions .buildkite/pipelines/main/misc/llvmpasses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ agents:
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "analyzegc"
key: "analyzegc"
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.1/llvm_passes.x86_64.tar.gz
rootfs_treehash: "9dd715500b117a16fcfa419ea0bca0c0ca902cee"
Expand All @@ -18,20 +19,18 @@ steps:
- "/cache/repos:/cache/repos"
commands: |
echo "--- Install in-tree LLVM dependencies"
make -j$${JULIA_NUM_CORES} -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
make --output-sync -j$${JULIA_CPU_THREADS:?} -C deps install-llvm install-clang install-llvm-tools install-libuv install-utf8proc install-unwind
echo "+++ run clangsa/analyzegc"
make -j$${JULIA_NUM_CORES} -C test/clangsa
make -j$${JULIA_NUM_CORES} -C src analyzegc
make --output-sync -j$${JULIA_CPU_THREADS:?} -C test/clangsa
make --output-sync -j$${JULIA_CPU_THREADS:?} -C src analyzegc
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "analyzegc"

- label: "llvmpasses"
key: "llvmpasses"
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.8/package_linux.x86_64.tar.gz
rootfs_treehash: "84a323ae8fcc724f8ea5aca5901bbbf4bda3e519"
Expand All @@ -41,12 +40,9 @@ steps:
- "/cache/repos:/cache/repos"
commands: |
echo "--- make release"
make -j$${JULIA_NUM_CORES} release JULIA_PRECOMPILE=0
make --output-sync -j$${JULIA_CPU_THREADS:?} release JULIA_PRECOMPILE=0
echo "--- make src/install-analysis-deps"
make -j$${JULIA_NUM_CORES} -C src install-analysis-deps
make --output-sync -j$${JULIA_CPU_THREADS:?} -C src install-analysis-deps
echo "+++ make test/llvmpasses"
make -j$${JULIA_NUM_CORES} -C test/llvmpasses
make --output-sync -j$${JULIA_CPU_THREADS:?} -C test/llvmpasses
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "llvmpasses"
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,25 @@ agents:
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "asan"
key: asan
key: "asan"
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.1/llvm_passes.x86_64.tar.gz
rootfs_treehash: "9dd715500b117a16fcfa419ea0bca0c0ca902cee"
uid: 1000
gid: 1000
workspaces:
- "/cache/repos:/cache/repos"
# `contrib/check-asan.jl` needs a `julia` binary:
- JuliaCI/julia#v1:
version: 1.6
timeout_in_minutes: 120
if: | # We only run the `asan` job on Julia 1.8 and later.
(pipeline.slug != "julia-release-1-dot-6") && (pipeline.slug != "julia-release-1-dot-7")
soft_fail: true # TODO: delete this line (and thus disallow failures) once JuliaLang/julia#42540 is fixed
commands: |
echo "--- Build julia-debug with ASAN"
contrib/asan/build.sh ./tmp/test-asan -j$${JULIA_NUM_CORES} debug
echo "--- Test that ASAN is enabled"
contrib/asan/check.jl ./tmp/test-asan/asan/usr/bin/julia-debug
timeout_in_minutes: 120
# notify: # TODO: uncomment this line
# - github_commit_status: # TODO: uncomment this line
# context: "asan" # TODO: uncomment this line
contrib/asan/build.sh ./tmp/test-asan -j$${JULIA_CPU_THREADS:?} debug
7 changes: 4 additions & 3 deletions .buildkite/pipelines/main/misc/signed_pipeline_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ agents:
## pipeline that showcases decryption of environment variable
steps:
- label: ":lock: :rocket: Signed pipeline test"
# We must accept the signed job id secret in order to propagate secrets
env:
BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET: ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
depends_on:
plugins:
- staticfloat/cryptic#v1:
variables:
- SECRET_KEY="U2FsdGVkX18tb7st0SuQAvh4Yv4xENxOAu8q9XkmOeDVKBNY4FngEwK3xmiKUqaS"
commands: |
echo "SECRET_KEY: $${SECRET_KEY}"
# We must accept the signed job id secret in order to propagate secrets
env:
BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET: ${BUILDKITE_PLUGIN_CRYPTIC_BASE64_SIGNED_JOB_ID_SECRET?}
Binary file not shown.
9 changes: 5 additions & 4 deletions .buildkite/pipelines/main/misc/whitespace.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,22 @@ agents:
# Only run on `sandbox.jl` machines (not `docker`-isolated ones) since we need nestable sandboxing
sandbox.jl: "true"
os: "linux"

steps:
- label: "whitespace"
key: "whitespace"
plugins:
- JuliaCI/julia#v1:
version: 1.6
# Drop default "registries" directory, so it is not persisted from execution to execution
persist_depot_dirs: packages,artifacts,compiled
version: '1.6'
- staticfloat/sandbox#v1:
rootfs_url: https://github.com/JuliaCI/rootfs-images/releases/download/v3.1/package_linux.x86_64.tar.gz
rootfs_treehash: "8c33c341a864852629b8aac01a6eb6a79b73570e"
workspaces:
- "/cache/repos:/cache/repos"
commands: |
make -j$${JULIA_NUM_CORES} check-whitespace
timeout_in_minutes: 10
notify:
- github_commit_status:
context: "whitespace"
commands: |
make --output-sync -j$${JULIA_CPU_THREADS:?} check-whitespace
93 changes: 0 additions & 93 deletions .buildkite/pipelines/main/platforms/linux64.yml

This file was deleted.

7 changes: 7 additions & 0 deletions .buildkite/pipelines/main/platforms/package_linux.arches
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# PLATFORM LABEL ALLOW_FAIL ARCH ARCH_ROOTFS MAKE_FLAGS TIMEOUT IS_RR IS_ST IS_MT ROOTFS_TAG ROOTFS_HASH
# linux _aarch64 false _aarch64 aarch64 none 60 no no no v3.2 0566841e29f0f9880541c26a6595fd5ce0beb5ff
# linux _armv7l false _armv7l armv7l none 60 no no no v3.2 fb359370b052a47ce5c84cc6b4a7a03ed7053b25
linux 32 false 32 i686 none 60 no no no v3.2 209c4db679a515befd7fb50ecc6bfbecf7ec3d32
# linux _ppc64le false _ppc64le powerpc64le none 60 no no no v3.2 c03a0158b19d48ac84b426834fce0d3584cdd0c7
linux 64 false 64 x86_64 none 60 no no no v3.2 474bf61a926b2d7fcf202284d59d4b11a04601d7
musl 64 false 64 x86_64 none 60 no no no v3.19 e6a2730e37c386c46915b2650d6aaaa398195152
Loading

0 comments on commit 28b7b06

Please sign in to comment.