Skip to content

Commit 11e64d1

Browse files
authored
Merge pull request #41554 from JuliaLang/backports-release-1.6
Backports for julia-1.6.3
2 parents 7c45ff0 + df3d351 commit 11e64d1

File tree

105 files changed

+2197
-911
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2197
-911
lines changed

.buildkite/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Buildkite
2+
3+
This directory contains the Buildkite configuration files for Base Julia CI.
4+
5+
The rootfs image definitions are located in the [rootfs-images](https://github.com/JuliaCI/rootfs-images) repository.
6+
7+
The documentation for the Base Julia CI setup is located in the [base-buildkite-docs](https://github.com/JuliaCI/base-buildkite-docs) repository.

.buildkite/llvm_passes.yml

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

.buildkite/pipeline.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This file represents what is put into the webUI.
2+
# It is purely for keeping track of the changes we make to the webUI configuration; modifying this file has no effect.
3+
# We use the `cryptic` buildkite plugin to provide secrets management, which requires some integration into the WebUI's steps.
4+
agents:
5+
queue: "julia"
6+
sandbox.jl: "true"
7+
8+
steps:
9+
- label: ":unlock: Unlock secrets, launch pipelines"
10+
plugins:
11+
- staticfloat/cryptic:
12+
# Our list of pipelines that should be launched (but don't require a signature)
13+
# These pipelines can be modified by any contributor and CI will still run.
14+
# Build secrets will not be available in these pipelines (or their children)
15+
# but some of our signed pipelines can wait upon the completion of these unsigned
16+
# pipelines.
17+
unsigned_pipelines:
18+
- .buildkite/pipelines/experimental/launch_unsigned_builders.yml
19+
20+
# Our signed pipelines must have a `signature` or `signature_file` parameter that
21+
# verifies the treehash of the pipeline itself and the inputs listed in `inputs`
22+
# signed_pipelines:
23+
# - pipeline: .buildkite/pipelines/experimental/misc/foo_bar_baz.yml
24+
# signature: "my_signature"
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Experimental pipeline (`master` branch only)
2+
3+
This is the [`julia-master->experimental`](https://buildkite.com/julialang/julia-master-experimental) pipeline.
4+
5+
We use this pipeline for builders that are not yet stable enough to go into the main pipeline.
6+
7+
These builders are triggered by GitHub webhook events, such as pushes and pull requests.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
steps:
2+
- label: ":buildkite: Launch unsigned pipelines"
3+
commands: |
4+
buildkite-agent pipeline upload .buildkite/pipelines/experimental/misc/sanitizers.yml
5+
agents:
6+
queue: julia
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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: "asan"
9+
key: asan
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/v3.1/llvm_passes.x86_64.tar.gz
15+
rootfs_treehash: "9dd715500b117a16fcfa419ea0bca0c0ca902cee"
16+
uid: 1000
17+
gid: 1000
18+
workspaces:
19+
- "/cache/repos:/cache/repos"
20+
# `contrib/check-asan.jl` needs a `julia` binary:
21+
- JuliaCI/julia#v1:
22+
version: 1.6
23+
commands: |
24+
echo "--- Build julia-debug with ASAN"
25+
contrib/asan/build.sh ./tmp/test-asan -j$${JULIA_NUM_CORES} debug
26+
echo "--- Test that ASAN is enabled"
27+
contrib/asan/check.jl ./tmp/test-asan/asan/usr/bin/julia-debug
28+
timeout_in_minutes: 120
29+
# notify: # TODO: uncomment this line
30+
# - github_commit_status: # TODO: uncomment this line
31+
# context: "asan" # TODO: uncomment this line

.buildkite/0_webui.yml renamed to .buildkite/pipelines/main/0_webui.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ steps:
1515
# but some of our signed pipelines can wait upon the completion of these unsigned
1616
# pipelines.
1717
unsigned_pipelines:
18-
- .buildkite/pipeline.yml
18+
- .buildkite/pipelines/main/launch_unsigned_builders.yml
1919

2020
# Our signed pipelines must have a `signature` or `signature_file` parameter that
2121
# verifies the treehash of the pipeline itself and the inputs listed in `inputs`
2222
signed_pipelines:
23-
- pipeline: .buildkite/signed_pipeline_test.yml
24-
signature: "U2FsdGVkX18aZgryp6AJTArgD2uOnVWyFFGVOP5qsY4WbGQ/LVAcYiMEp9cweV+2iht+vmEF949CuuGTeQPA1fKlhPwkG3nZ688752DUB6en9oM2nuL31NoDKWHhpygZ"
23+
- pipeline: .buildkite/pipelines/main/misc/signed_pipeline_test.yml
24+
signature_file: .buildkite/pipelines/main/misc/signed_pipeline_test.yml.signature

.buildkite/pipelines/main/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Main pipeline
2+
3+
This is the main pipeline. It contains most of the builders. These builders are triggered by GitHub webhook events, such as pushes and pull requests.
4+
5+
We have a different main pipeline for each permanent branch.
6+
7+
For example:
8+
9+
| Permanent Branch | Pipeline |
10+
| ---------------- | -------------------------------------------------------------------------------- |
11+
| `master` | [`julia-master`](https://buildkite.com/julialang/julia-master) |
12+
| `release-1.6` | [`julia-release-1.6`](https://buildkite.com/julialang/julia-release-1-dot-6) |
13+
| `release-1.7` | [`julia-release-1.7`](https://buildkite.com/julialang/julia-release-1-dot-7) |
14+
15+
(This is not a complete list.)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file launches all the build jobs that _don't_ require secrets access.
2+
# These jobs can pass their output off to jobs that do require secrets access,
3+
# but those privileged steps require signing before they can be run.
4+
#
5+
# Yes, this is creating another layer of indirection; the flow now looks like:
6+
#
7+
# [webui] -> launch_unsigned_builders.yml -> misc/whitespace.yml
8+
#
9+
# when we could theoretically just have the `webui` launch `misc/whitespace.yml`,
10+
# however this raises the bar for contributors to add new (unsigned) steps to
11+
# our CI configuration, so I'd rather live with an extra layer of indirection
12+
# and only need to touch the webui configuration when we need to alter
13+
# something about the privileged steps.
14+
15+
steps:
16+
- label: ":buildkite: Launch unsigned builders"
17+
commands: |
18+
# First, we launch the `whitespace` builder, because we want that builder to finish as quickly as possible.
19+
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/whitespace.yml
20+
21+
# Next, we launch the miscellaneous builders in alphabetical order.
22+
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/doctest.yml
23+
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/embedding.yml
24+
buildkite-agent pipeline upload .buildkite/pipelines/main/misc/llvmpasses.yml
25+
26+
# Finally, we launch the platform builders (`package_*`) and (`tester_*`) in alphabetical order.
27+
buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux64.yml
28+
agents:
29+
queue: julia

0 commit comments

Comments
 (0)