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

Backports for julia-1.6.3 #41554

Merged
merged 73 commits into from
Sep 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
b2f4e52
Add embedding and whitespace jobs to buildkite (#41321)
staticfloat Jul 7, 2021
537a1d2
Comment out signed pipeline test (#41493)
staticfloat Jul 7, 2021
63c0257
Streamline buildkite configuration a bit (#41494)
staticfloat Jul 7, 2021
2916959
add a GC safepoint in Task.wait (#41441)
vilterp Jul 7, 2021
e4b9fd9
improve constraint propagation with multiple || (#39618)
simeonschaub Feb 12, 2021
dede9df
fix #39705: lowering of Expr(:||) (#39709)
simeonschaub Feb 17, 2021
3f36bc7
CI (Buildkite): use a consistent naming scheme for labels, keys, and …
DilumAluthge Jul 11, 2021
1c93dc4
CI: Add more Debian packages to the `llvm-passes` rootfs image (#41544)
DilumAluthge Jul 11, 2021
04e7225
CI (Buildkite): rootfs_images: allow user to override the default val…
DilumAluthge Jul 12, 2021
667c883
Fix `get-task-allow` entitlement (#41559)
staticfloat Jul 12, 2021
92765ad
REPL doc lookup assumed ASCII for the given string, fixes #41589 (#41…
Seelengrab Jul 15, 2021
ca236c3
CI (rootfs_utils): Require that the user explicitly specify the `tag_…
DilumAluthge Jul 14, 2021
5480733
CI (rootfs images): when uploading a tarball, don't allow it to overr…
DilumAluthge Jul 15, 2021
56fff10
CI (rootfs images): fix a bug in the `upload_rootfs_image` function (…
DilumAluthge Jul 16, 2021
2fab90b
add default "auto" as option to --check-bounds (#41551)
IanButterworth Jul 13, 2021
fd6d294
Transition the `coverage-linux64` pipeline to Buildkite (#41238)
DilumAluthge Jun 20, 2021
570cd0d
Code coverage: fix the code coverage pipeline (#41375)
DilumAluthge Jun 26, 2021
248ccdd
Add signed pipeline test back
staticfloat Jul 7, 2021
ebbe1c7
CI (code coverage): run some tests in serial (#41507)
DilumAluthge Jul 8, 2021
f1d8214
Move compile timing to inside `@time`'s main timing block. Fixes >100…
IanButterworth Jul 19, 2021
09c4ad1
Do not error when showing invalid enums (#40042) (#41596)
jakobnissen Jul 19, 2021
7e61365
CI: add the sanitizers pipelines (e.g. ASAN) to Buildkite (#41530)
tkf Jul 13, 2021
5990b8d
make precompile files writable (#41614)
KristofferC Jul 20, 2021
0aa1835
while loop -> for loop in _simplify_include_frames (fixes #41566) (#4…
fredcallaway Jul 20, 2021
15cb1fd
CI (Buildkite): move the `sanitizers` builders (e.g. `asan`) to the e…
DilumAluthge Jul 20, 2021
a6005e6
fix memory corruption in `deleteat!` (#41646)
vtjnash Jul 21, 2021
d32c44d
CI: delete the `.buildkite/rootfs_images` directory (#41648)
DilumAluthge Jul 21, 2021
3e8eb9e
Update the `file.jl` tests to allow for both `EPERM` and `EINVAL` in …
DilumAluthge Jul 23, 2021
f0d2edb
CI (Buildkite): Add the `package_linux64` and `doctest` builders (#41…
DilumAluthge Jul 25, 2021
551c102
CI (Buildkite): Update all rootfs images to version v3.1, add some do…
DilumAluthge Jul 25, 2021
6a5c986
CI (Buildkite): include the short commit hash in the artifact filenam…
DilumAluthge Jul 26, 2021
5a62f7b
CI (Buildkite): for the signed pipeline test, use `signature_file` in…
DilumAluthge Jul 26, 2021
6bb23a3
[CompilerSupportLibraries_jll] Update to v0.5.0 (#41292)
giordano Jun 21, 2021
062bd3d
[build] Automatically set `USE_BINARYBUILDER_CSL=0` when local CSL is…
staticfloat Jul 22, 2021
07a5c4d
Add isinf/isnan check for %g/%G formatting
Seelengrab Jul 20, 2021
ff2ce6b
Add test for Inf/NaN handling in %g/%G Printf
Seelengrab Jul 20, 2021
6ccee0c
CI (Buildkite): on the `platform_linux` jobs, after building Julia, m…
DilumAluthge Aug 6, 2021
a264ee7
CI: Disable Codecov commit statuses (#41812)
DilumAluthge Aug 7, 2021
389338b
win: fix lock function call for backtrace collection (#41849)
vtjnash Aug 10, 2021
ec28bca
CI (Buildkite): `llvmpasses`: use the latest rootfs image (#41864)
DilumAluthge Aug 12, 2021
8e0f454
ensure that the non-REPL precompile code actually get precompiled (#4…
KristofferC Aug 17, 2021
1b13f82
README: add a link to the `base-buildkite-docs` repository (#41956)
DilumAluthge Aug 23, 2021
73c2e0b
Try to avoid julia becoming unkillable after fatal errors (#40056)
vtjnash Mar 18, 2021
cc66406
guard `isempty (close #41656) (#41752)
bicycle1885 Aug 2, 2021
c750018
Fix firstindex in replace_ref_begin_end (fixes #41630) (#41695)
phipsgabler Aug 11, 2021
cbbefc1
Fix collect on stateful generator (#41919)
jakobnissen Aug 24, 2021
94c1a3a
Set the `@JuliaLang/github-actions` team as the code owners for GitHu…
DilumAluthge Dec 9, 2020
7f9928e
Set up a few code owners (#40925)
DilumAluthge May 23, 2021
49e2197
Pare down the CODEOWNERS [skip ci] [ci skip] (#40929)
DilumAluthge May 23, 2021
9b6bf88
CI (Buildbot): As soon as a PR is created or updated, create pending …
DilumAluthge Aug 7, 2021
1346ba0
CI (Buildbot): for the "Create Pending Statuses" GitHub Actions workf…
DilumAluthge Aug 7, 2021
81941f2
CI (Buildbot): Fix a bug in the "Create Pending Statuses" GitHub Acti…
DilumAluthge Aug 7, 2021
cab6966
CI (Buildbot): a simpler way of getting the SHA for the "Statuses" ac…
DilumAluthge Aug 7, 2021
b05e7fb
CI (Buildbot, GHA): in the "Statuses" workflow, we only need to creat…
DilumAluthge Aug 8, 2021
ec3d314
CI (Buildbot, GHA): in the "Statuses" workflow, remove the `macosaarc…
DilumAluthge Aug 8, 2021
95a0461
CI (Buildbot, GHA): in the "Statuses" workflow, remove the `tester_li…
DilumAluthge Aug 9, 2021
718b19b
CI (Buildbot, GHA): In the "Statuses" workflow, remove the `tester_li…
DilumAluthge Aug 9, 2021
038b342
CI (Buildbot, GHA): add a note about token permissions (#41825)
DilumAluthge Aug 9, 2021
3f77bb4
CI (Buildbot, GHA): Simplify the `permissions` key in the workflow fi…
DilumAluthge Aug 10, 2021
c16ac52
Fix #41975 - Dropped typecheck in GotoIfNot (#42010)
Keno Aug 26, 2021
a89e7c3
codegen: parameter attributes on CFunction closures sticks (#41827)
troels Aug 26, 2021
1dfff1e
fix #40773, bug in `summarysize` on arrays of inlined structs with po…
JeffBezanson Jul 7, 2021
2f74e1e
Fix a precision issue in `abstract_iteration` (#41839)
martinholters Aug 30, 2021
7559703
[AllocOpt] fix iterator invalidation (#42059)
vtjnash Sep 1, 2021
7960f59
GMP: fix warning in init (#42062)
vtjnash Sep 1, 2021
fc1fcef
InteractiveUtils: recursive correctly in varinfo, et al. (#42061)
vtjnash Sep 3, 2021
51a0b80
fix ptrhash_remove (#42009)
vtjnash Aug 26, 2021
7d1e1c3
Refactor LICENSE.md to make it scanner friendly (#41095)
SamuraiAku Jun 29, 2021
c92b559
Avoid impossible unionall normalization (#42003)
martinholters Sep 1, 2021
ef28749
avoid loading duplicate libraries (#42058)
vtjnash Sep 2, 2021
9d13e16
inference: fix #42090, make sure not to wrap `Conditional` in `Partia…
aviatesk Sep 2, 2021
19e66b3
inference: propagate variable changes to all exception frames #42081 …
aviatesk Sep 4, 2021
df3d351
bump to latest Pkg release-1.6
KristofferC Sep 7, 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
7 changes: 7 additions & 0 deletions .buildkite/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# 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.

The documentation for the Base Julia CI setup is located in the [base-buildkite-docs](https://github.com/JuliaCI/base-buildkite-docs) 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.8/package_linux.x86_64.tar.gz
rootfs_treehash: "84a323ae8fcc724f8ea5aca5901bbbf4bda3e519"
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