Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release-1.7: Backports for 1.7-RC1/1.7-beta4 #41499

Merged
merged 74 commits into from
Aug 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
2b21759
Fix pivoted cholesky docstrings (#41298)
nalimilan Jul 6, 2021
35c5fc1
fix #41157, unnecessary assertion on `Tuple{Union{}}` (#41483)
JeffBezanson Jul 6, 2021
26bfefa
fix `partially_inline!` with `isdefined` (#40628)
simeonschaub Jul 1, 2021
8ebbd94
fix slurping into function definition (#40738)
simeonschaub Jul 2, 2021
b1fd8f0
Transition the `coverage-linux64` pipeline to Buildkite (#41238)
DilumAluthge Jun 20, 2021
cea02c0
Code coverage: fix the code coverage pipeline (#41375)
DilumAluthge Jun 26, 2021
1ca3467
Add embedding and whitespace jobs to buildkite (#41321)
staticfloat Jul 7, 2021
470d446
Comment out signed pipeline test (#41493)
staticfloat Jul 7, 2021
4f1fa2f
Streamline buildkite configuration a bit (#41494)
staticfloat Jul 7, 2021
09a592b
[openblas] fix make targets for applying patches (#41501)
benlorenz Jul 7, 2021
db05fae
improve some inferrabilities (#41495)
aviatesk Jul 7, 2021
ac93888
fix #41489: inference of `+(::Rational, Rational)` (#41491)
simeonschaub Jul 7, 2021
08f11db
Initialize n_uninitialized for Symbol and SimpleVector (#41496)
tkf Jul 7, 2021
5401722
`hvncat`: Better handling of 0- and 1-length dims/shape args (#41197)
BioTurboNick Jul 7, 2021
cbb3367
fix #40773, bug in `summarysize` on arrays of inlined structs with po…
JeffBezanson Jul 7, 2021
afad5f6
add a GC safepoint in Task.wait (#41441)
vilterp Jul 7, 2021
170c276
Null out some GC roots
tkf Jul 10, 2021
4f4fabf
CI (Buildkite): use a consistent naming scheme for labels, keys, and …
DilumAluthge Jul 11, 2021
663415f
CI: Add more Debian packages to the `llvm-passes` rootfs image (#41544)
DilumAluthge Jul 11, 2021
fd85e6b
change .* to * in fallback 3-arg `*` methods (#41545)
mcabbott Jul 12, 2021
c85a571
CI (Buildkite): rootfs_images: allow user to override the default val…
DilumAluthge Jul 12, 2021
9ae40be
Fix `get-task-allow` entitlement (#41559)
staticfloat Jul 12, 2021
9178941
add a test for #41096 (#41556)
KristofferC Jul 13, 2021
e4217a4
fix another bug in circular type detection (#41516)
vtjnash Jul 13, 2021
456fb2b
[deps] Replace `-L` option to `xargs` with `-n` (#41583)
giordano Jul 14, 2021
89cb6fa
CI (rootfs_utils): Require that the user explicitly specify the `tag_…
DilumAluthge Jul 14, 2021
61d1ca8
increase specialization of `_totuple` (#41515)
JeffBezanson Jul 14, 2021
687c214
REPL doc lookup assumed ASCII for the given string, fixes #41589 (#41…
Seelengrab Jul 15, 2021
1bfd4dc
intrinsics: optimize several atomic intrinsics (#41563)
vtjnash Jul 15, 2021
99d27f6
CI (rootfs images): when uploading a tarball, don't allow it to overr…
DilumAluthge Jul 15, 2021
735724a
CI (rootfs images): fix a bug in the `upload_rootfs_image` function (…
DilumAluthge Jul 16, 2021
a2b980d
Add signed pipeline test back
staticfloat Jul 7, 2021
17f5c9d
CI (code coverage): run some tests in serial (#41507)
DilumAluthge Jul 8, 2021
2668604
add default "auto" as option to --check-bounds (#41551)
IanButterworth Jul 13, 2021
87af621
`hvncat`: Stronger argument checks (#41196)
BioTurboNick Jul 15, 2021
81d8c0c
`hvncat`: Ensure output ndims are >= the ndims of input arrays (#41201)
BioTurboNick Jul 16, 2021
31aad85
Revert "Extend `Eigen` to keep additional information from `geevx` (#…
andreasnoack Jul 14, 2021
903ae5a
CI: add the sanitizers pipelines (e.g. ASAN) to Buildkite (#41530)
tkf Jul 13, 2021
98b5e41
Move compile timing to inside `@time`'s main timing block. Fixes >100…
IanButterworth Jul 19, 2021
01f53de
Do not error when showing invalid enums (#40042) (#41596)
jakobnissen Jul 19, 2021
9c851b8
pretty-printing for ncat and nrow expressions (#41617)
simeonschaub Jul 19, 2021
765da54
make precompile files writable (#41614)
KristofferC Jul 20, 2021
77a5810
while loop -> for loop in _simplify_include_frames (fixes #41566) (#4…
fredcallaway Jul 20, 2021
1ddf238
CI (Buildkite): move the `sanitizers` builders (e.g. `asan`) to the e…
DilumAluthge Jul 20, 2021
7142613
[LLVM] Add missing GPU related patch
vchuravy Jul 20, 2021
117a31e
always send log messages to stderr by default (#41653)
pfitzseb Jul 20, 2021
9902836
codegen: add missing return after error check (#41657)
vtjnash Jul 20, 2021
95c8bb7
codegen: avoid attempting to box singleton objects unnecessarily (#41…
vtjnash Jul 20, 2021
a2ff7d7
fix memory corruption in `deleteat!` (#41646)
vtjnash Jul 21, 2021
1d6af37
fix #41654, layout of 0-field structs with circular supertypes (#41660)
JeffBezanson Jul 21, 2021
7e46121
CI: delete the `.buildkite/rootfs_images` directory (#41648)
DilumAluthge Jul 21, 2021
99c71ac
[build] Automatically set `USE_BINARYBUILDER_CSL=0` when local CSL is…
staticfloat Jul 22, 2021
b2d80a1
Fix `fieldtype_tfunc` for union types (#41667)
martinholters Jul 22, 2021
e5267fa
Update the `file.jl` tests to allow for both `EPERM` and `EINVAL` in …
DilumAluthge Jul 23, 2021
f7aaf22
CI (Buildkite): Add the `package_linux64` and `doctest` builders (#41…
DilumAluthge Jul 25, 2021
6806bf2
CI (Buildkite): Update all rootfs images to version v3.1, add some do…
DilumAluthge Jul 25, 2021
ac3d472
CI (Buildkite): include the short commit hash in the artifact filenam…
DilumAluthge Jul 26, 2021
2b70808
CI (Buildkite): for the signed pipeline test, use `signature_file` in…
DilumAluthge Jul 26, 2021
80b456d
[LLVM] upgrade LLVM to 12.0.1
vchuravy Jul 18, 2021
2ccbb1d
fix ASAN paths
vchuravy Jul 18, 2021
1016edd
fix clang path in analyzegc
vchuravy Jul 18, 2021
693313b
[Distributed] Allow workers to be started with threading enabled
vchuravy Jul 16, 2021
f3da8d9
fixup to pull request #38405 (#41641)
vchuravy Jul 19, 2021
ac5b266
deprecate unsafe_length for simply length (#40382)
vtjnash Jul 2, 2021
be7ecbe
add length type parameter to StepRangeLen and LinRange (#41619)
vtjnash Jul 23, 2021
eeaadce
atomics: disable unordered RMW ordering
vtjnash Jul 14, 2021
5fa4b6a
codegen: fix some atomic return types
vtjnash Jul 14, 2021
e04e3e1
codegen: optimize setfield/arrayset with inline isa test
vtjnash Jul 14, 2021
3f5e41b
Init codegen during sysimg restore (#41676)
maleadt Jul 27, 2021
be3e807
upgrade libuv to v2-1.42.0 (#41710)
vtjnash Jul 28, 2021
84e6bb9
Revert "Merge pull request #38405 from JuliaLang/vc/distributed_ts" (…
vtjnash Jul 29, 2021
dd697ec
guard `isempty (close #41656) (#41752)
bicycle1885 Aug 2, 2021
6153a7e
Fix `length(::AbstractUnitRange)` and speed up `length(::AbstractUnit…
sostock Jul 28, 2021
f8bae15
Fix for dimensionful numbers (#41595)
sostock Jul 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .buildkite/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Buildkite

This directory contains the Buildkite configuration files for Base Julia CI.

The rootfs image definitions are located in the [rootfs-images](https://github.com/JuliaCI/rootfs-images) repository.
40 changes: 0 additions & 40 deletions .buildkite/llvm_passes.yml

This file was deleted.

19 changes: 0 additions & 19 deletions .buildkite/pipeline.yml

This file was deleted.

24 changes: 24 additions & 0 deletions .buildkite/pipelines/experimental/0_webui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# This file represents what is put into the webUI.
# It is purely for keeping track of the changes we make to the webUI configuration; modifying this file has no effect.
# We use the `cryptic` buildkite plugin to provide secrets management, which requires some integration into the WebUI's steps.
agents:
queue: "julia"
sandbox.jl: "true"

steps:
- label: ":unlock: Unlock secrets, launch pipelines"
plugins:
- staticfloat/cryptic:
# Our list of pipelines that should be launched (but don't require a signature)
# These pipelines can be modified by any contributor and CI will still run.
# Build secrets will not be available in these pipelines (or their children)
# but some of our signed pipelines can wait upon the completion of these unsigned
# 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"
7 changes: 7 additions & 0 deletions .buildkite/pipelines/experimental/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Experimental pipeline (`master` branch only)

This is the [`julia-master->experimental`](https://buildkite.com/julialang/julia-master-experimental) pipeline.

We use this pipeline for builders that are not yet stable enough to go into the main pipeline.

These builders are triggered by GitHub webhook events, such as pushes and pull requests.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
steps:
- label: ":buildkite: Launch unsigned pipelines"
commands: |
buildkite-agent pipeline upload .buildkite/pipelines/experimental/misc/sanitizers.yml
agents:
queue: julia
31 changes: 31 additions & 0 deletions .buildkite/pipelines/experimental/misc/sanitizers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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: "asan"
key: asan
plugins:
- JuliaCI/julia#v1:
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
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
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ steps:
# but some of our signed pipelines can wait upon the completion of these unsigned
# pipelines.
unsigned_pipelines:
- .buildkite/pipeline.yml
- .buildkite/pipelines/main/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/signed_pipeline_test.yml
signature: "U2FsdGVkX18aZgryp6AJTArgD2uOnVWyFFGVOP5qsY4WbGQ/LVAcYiMEp9cweV+2iht+vmEF949CuuGTeQPA1fKlhPwkG3nZ688752DUB6en9oM2nuL31NoDKWHhpygZ"
- pipeline: .buildkite/pipelines/main/misc/signed_pipeline_test.yml
signature_file: .buildkite/pipelines/main/misc/signed_pipeline_test.yml.signature
15 changes: 15 additions & 0 deletions .buildkite/pipelines/main/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Main pipeline

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.

We have a different main pipeline for each permanent branch.

For example:

| Permanent Branch | Pipeline |
| ---------------- | -------------------------------------------------------------------------------- |
| `master` | [`julia-master`](https://buildkite.com/julialang/julia-master) |
| `release-1.6` | [`julia-release-1.6`](https://buildkite.com/julialang/julia-release-1-dot-6) |
| `release-1.7` | [`julia-release-1.7`](https://buildkite.com/julialang/julia-release-1-dot-7) |

(This is not a complete list.)
29 changes: 29 additions & 0 deletions .buildkite/pipelines/main/launch_unsigned_builders.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This file launches all the build jobs that _don't_ require secrets access.
# These jobs can pass their output off to jobs that do require secrets access,
# but those privileged steps require signing before they can be run.
#
# Yes, this is creating another layer of indirection; the flow now looks like:
#
# [webui] -> launch_unsigned_builders.yml -> misc/whitespace.yml
#
# when we could theoretically just have the `webui` launch `misc/whitespace.yml`,
# however this raises the bar for contributors to add new (unsigned) steps to
# our CI configuration, so I'd rather live with an extra layer of indirection
# and only need to touch the webui configuration when we need to alter
# something about the privileged steps.

steps:
- label: ":buildkite: Launch unsigned builders"
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.
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

# Finally, we launch the platform builders (`package_*`) and (`tester_*`) in alphabetical order.
buildkite-agent pipeline upload .buildkite/pipelines/main/platforms/linux64.yml
agents:
queue: julia
36 changes: 36 additions & 0 deletions .buildkite/pipelines/main/misc/doctest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
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: "doctest"
key: doctest
plugins:
- JuliaCI/julia#v1:
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"
uid: 1000
gid: 1000
workspaces:
# Include `/cache/repos` so that our `git` version introspection works.
- "/cache/repos:/cache/repos"
commands: |
echo "--- Build Julia from source"
make -j 6

echo "--- Print Julia version info"
./julia -e 'using InteractiveUtils; InteractiveUtils.versioninfo()'

echo "--- Build Julia docs"
make docs

echo "--- Run Julia doctests"
JULIA_NUM_THREADS=1 make -C doc doctest=true
timeout_in_minutes: 45
notify:
- github_commit_status:
context: "doctest"
34 changes: 34 additions & 0 deletions .buildkite/pipelines/main/misc/embedding.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
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: "embedding"
key: "embedding"
plugins:
- JuliaCI/julia#v1:
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"
uid: 1000
gid: 1000
workspaces:
# Include `/cache/repos` so that our `git` version introspection works.
- "/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

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"
52 changes: 52 additions & 0 deletions .buildkite/pipelines/main/misc/llvmpasses.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
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: "analyzegc"
key: "analyzegc"
plugins:
- JuliaCI/julia#v1:
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"
workspaces:
# Include `/cache/repos` so that our `git` version introspection works.
- "/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
echo "+++ run clangsa/analyzegc"
make -j$${JULIA_NUM_CORES} -C test/clangsa
make -j$${JULIA_NUM_CORES} -C src analyzegc
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "analyzegc"

- label: "llvmpasses"
key: "llvmpasses"
plugins:
- JuliaCI/julia#v1:
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"
uid: 1000
gid: 1000
workspaces:
- "/cache/repos:/cache/repos"
commands: |
echo "--- make release"
make -j$${JULIA_NUM_CORES} release JULIA_PRECOMPILE=0
echo "--- make src/install-analysis-deps"
make -j$${JULIA_NUM_CORES} -C src install-analysis-deps
echo "+++ make test/llvmpasses"
make -j$${JULIA_NUM_CORES} -C test/llvmpasses
timeout_in_minutes: 60
notify:
- github_commit_status:
context: "llvmpasses"
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Salted__��NE""�;��יܜ��3%���0-R�`�>t��QΪZ6-�N�����He��_5��[�d��zn�@�@B9���H�ۮ���'
23 changes: 23 additions & 0 deletions .buildkite/pipelines/main/misc/whitespace.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
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: "whitespace"
key: "whitespace"
plugins:
- JuliaCI/julia#v1:
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"
Loading