about summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-91/+93
2020-04-10Auto merge of #70619 - etherealist:musl_lld, r=Mark-Simulacrumbors-0/+1
Enable rust-lld on dist-x86_64-musl Add rust-lld to rustup llvm-tools-preview on nightly for musl I am using a musl distro on my workstation, with `RUSTFLAGS="-C target-feature=-crt-static"` this works fine. I know that `x86_64-unknown-linux-musl` was originally only meant as a target and not as a host. But most problems have been fixed, and I have fewer problems with `unknown` (rustup) than when I am using `x86_64-alpine-linux-musl` (rust installed by the distro). The only thing I am missing is rust-lld in llvm-tools-preview on nightly. I needed rust-lld for a wasm tutorial. I built rust-lld and tested it with that tutorial, and it worked well. I asked [here](https://users.rust-lang.org/t/enable-rust-lld-on-x86-64-unknown-linux-musl/39851) where to request to enable lld and ended up doing this PR. I compared llvm-tools-preview `nightly-x86_64-unknown-linux-musl` and `nightly-x86_64-unknown-linux-gnu`: only rust-lld is missing in musl. I tested the change using: ```bash ./src/ci/docker/run.sh dist-x86_64-musl ``` And I checked that the resulting rust-lld binary runs.
2020-04-04Auto merge of #69898 - spastorino:rename-rustc-guide2, r=Xanewokbors-1/+1
Move rustc-guide submodule to rustc-dev-guide r? @pietroalbini
2020-04-03Rollup merge of #68334 - andre-richter:master, r=japaricMazdak Farrokhzad-0/+15
AArch64 bare-metal targets: Build rust-std This PR complements https://github.com/rust-lang/rust/pull/68253
2020-03-31Enable rust-lld on dist-x86_64-muslDavid Sonder-0/+1
Add rust-lld to llvm-tools-preview on nightly for musl
2020-03-30Deduplicate crosstool-ng.shBen Wolsieffer-30/+6
2020-03-25Upgrade GCC to 8.3.0, glibc to 2.17.0 and crosstool-ng to 1.24.0 for ↵Ben Wolsieffer-739/+1055
dist-arm-linux and dist-armhf-linux
2020-03-24Move rustc-guide submodule to rustc-dev-guideSantiago Pastorino-1/+1
2020-03-24ci: add github actions configurationPietro Albini-1/+2
2020-03-23Rollup merge of #70159 - alexcrichton:update-wasi, r=pietroalbiniMazdak Farrokhzad-1/+1
Update the bundled wasi-libc with libstd Brings in WebAssembly/wasi-libc#184 which can help standalone programs with environment variables!
2020-03-21Rollup merge of #70054 - rojamd:android-pgo, r=michaelwoeristerMazdak Farrokhzad-0/+1
Build dist-android with --enable-profiler This will make the runtime available to enable PGO for Rust code in Firefox on Android. r? @michaelwoerister
2020-03-19Update the bundled wasi-libc with libstdAlex Crichton-1/+1
Brings in WebAssembly/wasi-libc#184 which can help standalone programs with environment variables!
2020-03-17Rollup merge of #69688 - JohnTitor:move-tidy, r=Mark-SimulacrumMazdak Farrokhzad-1/+2
Move tidy check to mingw-check Fixes #69613
2020-03-16Build dist-android with --enable-profilerrojamd-0/+1
2020-03-12Add Node.js to PR CI imageOliver Middleton-1/+2
This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-05Move tidy check to mingw-checkYuki Okushi-1/+2
2020-02-28AArch64 bare-metal targets: Build rust-stdAndre Richter-0/+15
This patch enables building of rust-std for the aarch64 bare-metal targets. For the compiler intrinsics, it fetches the AArch64 bare-metal target (aarch64-none-elf) GCC for the A-profile provided by ARM itself from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
2020-02-10Fix SGX RWLock representation for UnsafeCell niche fixJethro Beekman-1/+1
2020-01-21for now, do not build rust-std for the armv7a-none-eabihf targetJorge Aparicio-1/+2
it needs some upstream changes in the build script of the compiler-builtins crate
2020-01-20Merge branch 'master' into bare-metal-cortex-aJorge Aparicio-1/+978
2020-01-18Auto merge of #68037 - msizanoen1:riscv-ci, r=alexcrichtonbors-0/+977
Distribution CI for riscv64gc-unknown-linux-gnu This modifies `dist-various-1` to build the standard library for RISC-V GNU/Linux. r? @alexcrichton
2020-01-15add bare metal ARM Cortex-A targets to rustcJorge Aparicio-0/+4
-> `rustc --target armv7-none-eabi` will work also build rust-std (rustup) components for them -> `rustup target add armv7-none-eabi` will work
2020-01-14Update the wasi-libc bundled with libstdAlex Crichton-1/+1
2020-01-12Auto merge of #67831 - mati865:ci-images-upgrade, r=pietroalbinibors-2/+2
ci: bump ubuntu 19.04 images to 19.10 Ubuntu 19.04 goes EOL this month.
2020-01-11Distribution CI for RISC-V GNU/Linuxmsizanoen1-0/+977
2020-01-03ci: bump ubuntu 19.04 images to 19.10Mateusz Mikuła-2/+2
Ubuntu 19.04 goes EOL this month.
2020-01-02Set a lower ThinLTO import limit for PR CI image.Michael Woerister-1/+3
2019-12-10Move CI to new builtin check-toolstateMark Rousskov-234/+2
2019-12-06Add note to src/ci/docker/README.md about multiple docker imagesAaron Hill-0/+7
I spent a while debugging a strage linker error about an outdated `glibc` version, only to discover that it was caused by a stale `obj` directory. It wasn't obviously to be that using the same obj dir with multiple Docker images (for the same target triple) could be a problem. This commit adds a note to the README, which should hopefully be helpful to anyone else who runs into this issue.
2019-12-05Update the revision of wasi-libc used in wasm32-wasiAlex Crichton-1/+1
This commit updates the `wasi-libc` repository used to build the wasm32-wasi target's libstd to ensure that both libstd and libc are using the same wasi snapshot version.
2019-12-02Update the minimum external LLVM to 7Josh Stone-3/+3
LLVM 7 is over a year old, which should be plenty for compatibility. The last LLVM 6 holdout was llvm-emscripten, which went away in #65501. I've also included a fix for LLVM 8 lacking `MemorySanitizerOptions`, which was broken by #66522.
2019-11-22ci: add support for GitHub Actions in the CI scriptsPietro Albini-0/+2
2019-11-19Rollup merge of #66090 - pietroalbini:ci-improvements, r=alexcrichtonMazdak Farrokhzad-9/+38
Misc CI improvements This PR contains some misc improvements to our CI configuration: * The environment variables for MinGW builders were greatly simplified, with just `CUSTOM_MINGW=1` to tell the install scripts to install the vendored copy. All the others (`MINGW_URL`, `MINGW_DIR`, `MINGW_ARCHIVE` and `MSYS_BITS`) are detected either from the builder name or the environment. * Collecting CPU stats and running the build were moved into scripts. * Toolstate scripts validation was previously a separate step, ran just when `IMAGE=mingw-check`. This moves the validation code inside the actual image. * Vendored copies are now fetched from https://ci-mirrors.rust-lang.org instead of directly from the bucket. r? @alexcrichton
2019-11-12ci: download curl and openssl from s3 for dist-x86_64-linuxPietro Albini-2/+9
CentOS 5 only supports SSLv3 without SNI, and to get newer protocols working we need to download and compile OpenSSL and cURL from our mirror. Because of that, we can't use the CDN, as CloudFront requires TLSv1 with SNI. This commit changes the dist-x86_64-linux image to bypass the CDN for OpenSSL and cURL.
2019-11-12ci: move mirrors to https://ci-mirrors.rust-lang.orgPietro Albini-10/+10
2019-11-12ci: move validate-toolstate.sh in the mingw-check imagePietro Albini-1/+23
The task was already run just there, so this cleans things up.
2019-11-09Update cc, git2, num_cpus.Eric Huss-1/+9
2019-11-07Update clang to build LLVM to 9.0.0Alex Crichton-3/+24
This also ensure that we're using the same clang version for all our major platforms instead of 8.0 on Linux and 7.0 on OSX/Windows.
2019-11-05Update the bundled `wasi-libc` repositoryAlex Crichton-7/+7
This updates the libc that the `wasm32-wasi` target links against to the latest revision, mostly just bringing in minor bug fixes and minor wasm size improvements.
2019-10-31Rollup merge of #65274 - pietroalbini:ci-upload-toolstate, r=alexcrichtonMazdak Farrokhzad-3/+6
Upload toolstates.json to rust-lang-ci2 This PR does two things: * Following up with https://github.com/rust-lang/rust/pull/65202, it migrates deploying artifacts to CI in a script. Both uploading release artifacts and CPU stats were merged into the same script, designing it to be easily extended. * Uploads the toolstate JSON to `rust-lang-ci2` along with the release artifacts, both for Linux and Windows. This is needed because @RalfJung wants to stop shipping MIRI when its tests are failing, and the toolstate repo doesn't have entries for each commit. Having the toolstate data (just for that specific commit) on `rust-lang-ci2` will simplify the code a lot. r? @alexcrichton cc @RalfJung
2019-10-30ci: move toolstates.json to /tmp/toolstate/ and docker mount itPietro Albini-3/+6
Before this commit toolstates.json was stored in /tmp and it wasn't mounted outside the build container. That caused uploading the file in the upload-artifacts task to fail, as the file was missing on the host. Mounting /tmp/toolstates.json alone is not the best approach: if the file is missing when the container is started the Docker engine will create a *directory* named /tmp/toolstates.json. The Docker issue could be solved by pre-creating an empty file named /tmp/toolstates.json, but doing that could cause problems if bootstrap fails to generate the file and the toolstate scripts receive an empty JSON. The approach I took in this commit is to instead mount a /tmp/toolstate directory inside Docker, and create the toolstates.json file in it. That also required a small bootstrap change to ensure the directory is created if it's missing.
2019-10-26ci: add support for MIPS64 musl targetsWang Xuerui-0/+16
2019-10-21Remove `src/llvm-emscripten` submoduleAlex Crichton-1/+0
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-10-20Auto merge of #65302 - msizanoen1:fix-armv7-segfault, r=alexcrichtonbors-366/+511
Upgrade GCC to 8.3.0, glibc to 1.17.0 and crosstool-ng to 1.24.0 for dist-armv7-linux #62896 was caused by the usage of the GCC 5.2.0 toolchain, which was released back in 2015 and may have bugs affecting LLVM 9. This PR upgrade GCC to 8.3.0 from 5.2.0, glibc from 1.16.0 to 1.17.0 and crosstool-ng to 1.24.0 only for dist-armv7-linux. Fixes #62896 r? @alexcrichton
2019-10-16Remove PR runs, enable wasm32 CI, and move asmjs to disabledThomas Lively-0/+0
2019-10-16User should not change between emcc install and useThomas Lively-12/+6
2019-10-16Update test and add -O1 to wasm32 DockerfileThomas Lively-2/+3
2019-10-16Temporarily enable asmjs and wasm32 on PR CIThomas Lively-0/+0
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-116/+31
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-16Mirror crosstool-ng on rust-lang-ci-mirrorsmsizanoen-1/+2