summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2020-11-06Fix Ubuntu download URLJonas Schievink-1/+1
2020-10-21Auto merge of #78148 - Mark-Simulacrum:beta-76980, r=pietroalbinibors-1/+1
[beta] Disable ThinLTO for x86_64-unknown-linux-gnu Temporarily addresses #76980 for 1.48 release. r? `@pietroalbini`
2020-10-20Disable ThinLTO for x86_64-unknown-linux-gnuMark Rousskov-1/+1
Temporarily addresses #76980.
2020-10-20ci: also build the build-manifest component on dist-x86_64-linuxPietro Albini-1/+3
2020-09-29Use --host='' instead of --host ''Tyler Mandry-14/+14
Trying to fix a problem in CI. Maybe some version of Docker is not passing '' args correctly?
2020-09-28Update CI scripts to accommodate --host changeTyler Mandry-15/+15
2020-09-16Auto merge of #76420 - Gelbpunkt:aarch64-linux-musl, r=pietroalbinibors-23/+13
Add aarch64-unknown-linux-musl host builds This adds aarch64-unknown-linux-musl to the hosts list and adds the build to the dist-arm-linux builder as `@Mark-Simulacrum` suggested to me in Zulip. `@jyn514` requested to be mentioned :smile: I had to update the config for crosstool-ng as it had a prompt about the glibc version. I ran `src/ci/docker/run.sh dist-arm-linux` to test it. ``` Build completed successfully in 1:31:50 Compile requests 8180 Compile requests executed 8135 Cache hits 287 Cache misses 7848 Cache timeouts 0 Cache read errors 0 Forced recaches 0 Cache write errors 0 Compilation failures 0 Cache errors 0 Non-cacheable compilations 0 Non-cacheable calls 36 Non-compilation calls 9 Unsupported compiler calls 0 Average cache write 0.000 s Average cache read miss 6.389 s Average cache read hit 0.000 s Cache location Local disk: "/sccache" Cache size 202 MiB Max cache size 10 GiB == clock drift check == local time: Sun Sep 6 19:30:17 UTC 2020 network time: Sun, 06 Sep 2020 19:30:17 GMT == end clock drift check == ``` Only errors were in miri due to struct fields being private (already been reported [here](https://github.com/rust-lang/rust/issues/76337)) Edit: Maybe it is helpful if I add that it is a working compiler ```sh /rust-nightly-aarch64-unknown-linux-musl # ash install.sh install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'clippy-preview' install: installing component 'rustfmt-preview' install: installing component 'llvm-tools-preview' install: installing component 'rust-analysis-aarch64-unknown-linux-musl' install: installing component 'rust-std-aarch64-unknown-linux-musl' install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error Rust is ready to roll. / # cat test.rs fn main() { println!("hello world"); } / # rustc test.rs / # ./test hello world # file test test: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, not stripped ```
2020-09-14Update based on @alex's PRJens Reidel-6/+0
2020-09-13remove orphaned filesTshepang Lekhonkhobe-52/+0
Should been part of https://github.com/rust-lang/rust/pull/74163
2020-09-06initial attempt to add aarch64-unknown-linux-musl to dist-linux-armJens Reidel-17/+13
2020-08-29Auto merge of #74922 - joshtriplett:ninja-by-default, r=Mark-Simulacrumbors-0/+34
Set ninja=true by default Ninja substantially improves LLVM build time. On a 96-way system, using Make took 248s, and using Ninja took 161s, a 35% improvement. We already require a variety of tools to build Rust. If someone wants to build without Ninja (for instance, to minimize the set of packages required to bootstrap a new target), they can easily set `ninja=false` in `config.toml`. Our defaults should help people build Rust (and LLVM) faster, to speed up development.
2020-08-28Build dist-x86_64-musl with --enable-profiler.Tiago Lam-0/+1
Trying to build a Rust project with `-Zprofile` for target x86_64-unknown-linux-musl using rustc 1.46.0-nightly (346aec9b0 2020-07-11), installed with rustup, results in the following error. ``` export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"export CARGO_INCREMENTAL=0$ cargo build --target=x86_64-unknown-linux-muslCompiling hello_world v0.1.0 (…)error[E0463]: can't find crate for `profiler_builtins` | = note: the compiler may have been built without the profiler runtime error: aborting due to previous error For more information about this error, try `rustc --explain E0463`.error: could not compile `hello_world`. To learn more, run the command again with --verbose. ``` `-Zprofile` is required here to enable grcov profiling. This is similar in nature to issue https://github.com/rust-lang/rust/issues/57257, which has been fixed in asimilar way at https://github.com/rust-lang/rust/pull/60476 . A fix for Android has also landed not long ago: https://github.com/rust-lang/rust/pull/70054 . Signed-off-by: Tiago Lam <tiagol@hadean.com>
2020-08-26Debian 6 doesn't have ninja, so use make for the dist buildsJosh Triplett-2/+2
2020-08-26Install ninja on CI buildersJosh Triplett-0/+34
Windows CI builds already install ninja. Install it in all the Docker-based builds as well.
2020-08-25ci: bump LLVM source tarball on Linux to 10.0.0Pietro Albini-1/+1
2020-08-22Apply suggestions from code review Josh Stone-2/+1
Flatten the INC definition to one line. Co-authored-by: lzutao <taolzu@gmail.com>
2020-08-22Don't make clang use gcc's include-fixedJosh Stone-9/+0
This was breaking `#include_next <limits.h>`, such that we weren't getting definitions of `PATH_MAX` and `_POSIX_ARG_MAX`.
2020-08-21Auto merge of #75708 - JohnTitor:stay-cool-full-bootstrap-builder, ↵bors-30/+0
r=pietroalbini Remove the full-bootstrap builder from CI Fixes #75198
2020-08-19Upgrade Emscripten on CI to 1.39.20Thomas Lively-2/+2
This Emscripten version was the first to be cut after the LLVM 11 release branch was created, so it should be the most compatible with LLVM 11. The old version we were using was incompatible with LLVM 11 because its wasm-ld did not understand all the relocations that LLVM 11 emits.
2020-08-20Remove the full-bootstrap builder from CIYuki Okushi-30/+0
2020-08-17Auto merge of #75568 - ehuss:cloudabi-tier3, r=Mark-Simulacrumbors-4/+1
Move CloudABI to tier 3. The CloudABI target hasn't had much work done on it in a while, and it doesn't appear to be in active use. It has a fairly substantial amount of code, particularly in the [sys module](https://github.com/rust-lang/rust/tree/5addb135edc2653b07670482a430aac9b655a86b/library/std/src/sys/cloudabi) that requires actively supporting. I contacted @EdSchouten who indicated that many of the CloudABI concepts are now in WASI, and that they are OK with the target being moved to tier 3.
2020-08-16Fix fortanix buildMark Rousskov-1/+1
2020-08-15Bump minor version of emsdk to 1.38.47Tomasz Miąsko-2/+2
Release Notes: ``` v1.38.47: 10/02/2019 -------------------- - Add support for FETCH API in WASM backend. This doesn't support FETCH in the main thread (`USE_FETCH_WORKER=0` is enforced). #9490 - Redefine errno values to be consistent with wasi. This will let us avoid needing to convert the values back and forth as we use more wasi APIs. This is an ABI change, which should not be noticeable from user code unless you use errno defines (like EAGAIN) *and* keep around binaries compiled with an older version that you link against. In that case, you should rebuild them. See #9545. - Removed build option `-s ONLY_MY_CODE` as we now have much better solutions for that, like building to a wasm object file or using `STANDALONE_WASM` etc. (see https://github.com/emscripten-core/emscripten/wiki/WebAssembly-Standalone). - Emscripten now supports the config file (.emscripten) being placed in the emscripten directory rather that the current user's home directory. See #9543 ```
2020-08-15Auto merge of #74576 - myfreeweb:freebsd-sanitizers, r=oli-obkbors-1/+1
Add sanitizer support on FreeBSD Restarting #47337. Everything is better now, no more weird llvm problems, well not everything: Unfortunately, the sanitizers don't have proper support for versioned symbols (https://github.com/google/sanitizers/issues/628), so `libc`'s usage of `stat@FBSD_1.0` and so on explodes, e.g. in calling `std::fs::metadata`. Building std (now easy thanks to cargo `-Zbuild-std`) and libc with `freebsd12/13` config via the `LIBC_CI=1` env variable is a good workaround… ``` LIBC_CI=1 RUSTFLAGS="-Z sanitizer=address" cargo +san-test -Zbuild-std run --target x86_64-unknown-freebsd --verbose ``` …*except* std won't build because there's no `st_lspare` in the ino64 version of the struct, so an std patch is required: ```diff --- i/src/libstd/os/freebsd/fs.rs +++ w/src/libstd/os/freebsd/fs.rs @@ -66,8 +66,6 @@ pub trait MetadataExt { fn st_flags(&self) -> u32; #[stable(feature = "metadata_ext2", since = "1.8.0")] fn st_gen(&self) -> u32; - #[stable(feature = "metadata_ext2", since = "1.8.0")] - fn st_lspare(&self) -> u32; } #[stable(feature = "metadata_ext", since = "1.1.0")] @@ -136,7 +134,4 @@ impl MetadataExt for Metadata { fn st_flags(&self) -> u32 { self.as_inner().as_inner().st_flags as u32 } - fn st_lspare(&self) -> u32 { - self.as_inner().as_inner().st_lspare as u32 - } } ``` I guess std could like.. detect that `libc` isn't built for the old ABI, and replace the implementation of `st_lspare` with a panic?
2020-08-14Move CloudABI to tier 3.Eric Huss-3/+0
2020-08-13Add no-opt standard library buildersDylan MacKenzie-2/+12
We already have builders which built standard library *test*s without optimizations, but we previously did not have builders which built the standard library itself without optimizations and then tested that. This adds those builds for i686 and x86_64 linux.
2020-08-09Upgrade the FreeBSD toolchain to version 11.4Josh Stone-25/+11
FreeBSD 10 reached its end-of-life in October 2018, and that toolchain caused issues in the LLVM 11 upgrade (#73526) that are resolved with the toolchain from FreeBSD 11.
2020-08-09Add sanitizer support on FreeBSDGreg V-1/+1
2020-08-01Rollup merge of #74995 - sunfishcode:update-llvm, r=alexcrichtonManish Goregaokar-3/+3
Update the WASI libc build to LLVM 10. Among other things, this brings in [the `__main_argc_argv`] patch, which simplifies the interaction between the compiler and WASI libc's startup code, which will help work on reactor support. [the `__main_argc_argv` patch]: https://github.com/llvm/llvm-project/commit/00072c08c75050ae2c835b7bb0e505475dbcd7b9 r? @alexcrichton
2020-08-01Auto merge of #74993 - sunfishcode:update-wasi-libc, r=alexcrichtonbors-2/+2
Update the bundled wasi-libc with libstd This just updates WASI libc, in preparation for WASI reactor support in a separate change. r? @alexcrichton
2020-07-31Update the WASI libc build to LLVM 10.Dan Gohman-3/+3
Among other things, this brings in [the `__main_argc_argv`] patch, which simplifies the interaction between the compiler and WASI libc's startup code, which will help work on reactor support. [the `__main_argc_argv` patch]: https://github.com/llvm/llvm-project/commit/00072c08c75050ae2c835b7bb0e505475dbcd7b9
2020-07-31Update the bundled wasi-libc with libstdDan Gohman-2/+2
This just updates WASI libc, in preparation for WASI reactor support in a separate change.
2020-07-31Auto merge of #74844 - asomers:freebsd-profiler, r=pietroalbinibors-2/+2
Enable the profiler on FreeBSD FreeBSD has been doing this in our own package builds for two months now. https://svnweb.freebsd.org/ports?view=revision&revision=535771
2020-07-30Rollup merge of #74871 - etherealist:musl_doc, r=Mark-SimulacrumManish Goregaokar-1/+0
Enable docs on dist-x86_64-musl Add the `rust-docs` component to toolchain `x86_64-unknown-linux-musl`, which allows people using rustup on their musl-based linux distribution to download the rust-docs. `--disable-docs` is based on the assumption that `x86_64-unknown-linux-musl` is only a cross-compile target. I have tested that the docs are built. I assume the build-system will automatically detect the docs and create a `rust-docs` component. I will [monitor](https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-musl.html) the components and create a follow-up PR, if the docs aren't published. See also #70619, where we enabled `rust-lld` to enable the wasm-workflow on musl-based linux distributions.
2020-07-28Use --stage 2 in checktoolsJoshua Nelson-4/+4
- Remove useless --stage 2 argument to checktools.sh - Fix help text for expand-yaml-anchors (it had a typo)
2020-07-28Enable docs on dist-x86_64-muslDavid Sonder-1/+0
Add the rust-docs component to toolchain x86_64-unknown-linux-musl, which allows people using rustup on their musl-based linux distribution to download the rust-docs.
2020-07-27Use --stage 2 explicitly in CIJoshua Nelson-29/+29
- expand yaml anchors - don't use --stage 2 for dist; that's already the default
2020-07-27mv std libs to library/mark-8/+8
2020-07-27Enable the profiler on FreeBSDAlan Somers-2/+2
FreeBSD has been doing this in our own package builds for two months now. https://svnweb.freebsd.org/ports?view=revision&revision=535771
2020-07-23Downgrade glibc to 2.11.1 for ppc, ppc64 and s390xMartin Sirringhaus-12/+12
2020-07-19Auto merge of #74163 - cuviper:debian6, r=Mark-Simulacrumbors-98/+89
ci: Update dist-{i686,x86_64}-linux to Debian 6 This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is already EOL, it happens to match the minimum common versions of two enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12 and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0). Closes #62516.
2020-07-16Add zlib1g to builder depsMark Rousskov-0/+4
2020-07-15Rollup merge of #74294 - msirringhaus:master, r=pietroalbiniManish Goregaokar-8/+31
Update cross-compilation README README seemed rather out of date. I hope the information in my PR is now correct (it was more or less assembled by asking in zulip and learning-by-doing).
2020-07-15Rollup merge of #72973 - msizanoen1:riscv-host, r=pietroalbiniManish Goregaokar-23/+35
RISC-V GNU/Linux as host platform This PR add a new builder named `dist-riscv64-linux` that builds the compiler toolchain for RISC-V 64-bit GNU/Linux. r? @alexcrichton
2020-07-15ci: Update dist-{i686,x86_64}-linux to Debian 6Josh Stone-98/+89
This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is already EOL, it happens to match the minimum common versions of two enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12 and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0).
2020-07-15Auto merge of #71272 - jclulow:illumos-x86-ci, r=pietroalbinibors-0/+210
build dist for x86_64-unknown-illumos This change creates a new Docker image, "dist-x86_64-illumos", and sets things up to build the full set of "dist" packages for illumos hosts, so that illumos users can use "rustup" to install packages. It also adjusts the manifest builder to expect complete toolchains for this platform.
2020-07-13Move all code-snippets to /tmp/ as basedirMartin Sirringhaus-1/+1
2020-07-13Fix typoMartin Sirringhaus-2/+3
2020-07-13Update cross-compilation READMEMartin Sirringhaus-8/+30
2020-07-11RISC-V GNU/Linux as host platformmsizanoen1-23/+35