about summary refs log tree commit diff
path: root/src/ci/docker/x86_64-gnu-debug
AgeCommit message (Collapse)AuthorLines
2019-01-30CI: Use lld for linking LLVM in the x86_64-gnu-debug image.Michael Woerister-0/+1
2019-01-30ci: Use clang as the C++ compiler for x86_64-gnu-debug.Michael Woerister-3/+9
2019-01-30Add missing packages.Michael Woerister-0/+5
2019-01-24Enable Clang-based tests on x86_64-gnu-debug builder.Michael Woerister-1/+8
2018-05-04Check that rustc can be built successfully with parallel queries for PRs.Michael Woerister-1/+1
2018-03-18Add a CI job for parallel rustc using x.py checkJohn Kåre Alsaker-0/+1
2017-08-26ci: Remove the need for `dumb-init`Alex Crichton-5/+0
Newer versions of Docker have a `--init` argument which spawns an init process in the container, which we should be able to use everywhere now.
2017-07-12Updated docker images to factor out common scriptsTy Coghlan-6/+5
2017-05-12Update sccache binaries to mozilla/sccache@d3627d766Alex Crichton-1/+1
This commit updates the sccache binaries to fix a cache load failure seen on #41926, fixed by mozilla/sccache#119
2017-04-29ci: Update sccache buildAlex Crichton-1/+1
Pulls in mozilla/sccache@ef0d77543 to fix #40240 again after the builds included in #41447 forgot to include the mio fixed included in #41076. Closes #40240
2017-04-27appveyor: Use Ninja/sccache on MSVCAlex Crichton-1/+1
Now that the final bug fixes have been merged into sccache we can start leveraging sccache on the MSVC builders on AppVeyor instead of relying on the ad-hoc caching strategy of trigger files and whatnot.
2017-04-27travis: Update sccache build usedAlex Crichton-1/+1
This build is no longer a forked version with temporary bugfixes, everything should be upstreamed!
2017-04-04travis: Update sccache binariesAlex Crichton-1/+1
I've tracked down what I believe is the last spurious sccache failure on #40240 to behavior in mio (carllerche/mio#583), and this commit updates the binaries to a version which has that fix incorporated.
2017-03-24travis: Update sccache againAlex Crichton-1/+1
Looks like the last version was built with mio 0.6.5 which now has known bugs against it. This build includes mio 0.6.6
2017-03-23travis: Update sccache binaryAlex Crichton-1/+1
2017-03-16travis: Update sccache binaryAlex Crichton-1/+1
I've built a local copy with mozilla/sccache#79 and mozilla/sccache#78. Let's see if that helps #40240!
2017-02-27appveyor: Use sccache on pc-windows-gnu for cachingAlex Crichton-1/+1
Now that mozilla/sccache#43 is fixed the caching works for MinGW on Windows. We still can't use it for MSVC just yet, but I'll try to revive that branch at some point.
2017-02-24Update sccache binaries on CIAlex Crichton-3/+3
Currently CI builds can fail spuriously during the LLVM build (#39003). I believe this is due to sccache, and I believe that in turn was due to the fact that the sccache server used to just be a raw mio server. Historically raw mio servers are quite complicated to get right, but this is why we built Tokio! The sccache server has been migrated to Tokio which I suspect would fix any latent issues. I have no confirmation of this (never been able to reproduce the deadlock locally), but my hunch is that updating sccache to the master branch will fix the timeouts during the LLVM build. The binaries previously came from Gecko's infrastructure, but I've built new ones by hand for Win/Mac/Linux and uploaded them to our CI bucket.
2017-01-12travis: Start uploading artifacts on commitsAlex Crichton-1/+1
This commit starts adding the infrastructure for uploading release artifacts from AppVeyor/Travis on each commit. The idea is that eventually we'll upload a full release to AppVeyor/Travis in accordance with plans [outlined earlier]. Right now this configures Travis/Appveyor to upload all tarballs in the `dist` directory, and various images are updated to actually produce tarballs in these directories. These are nowhere near ready to be actual release artifacts, but this should allow us to play around with it and test it out. Once this commit lands we should start seeing artifacts uploaded on each commit. [outlined earlier]: https://internals.rust-lang.org/t/rust-ci-release-infrastructure-changes/4489
2016-12-26travis: Remove extraneous /tmp/obj dirsAlex Crichton-2/+0
These are no longer used when running containers and tests.
2016-12-26travis: Don't install ccache in containersAlex Crichton-1/+0
We no longer use it, we use sccache
2016-12-14rustbuild: Add sccache supportAlex Crichton-1/+6
This commit adds support for sccache, a ccache-like compiler which works on MSVC and stores results into an S3 bucket. This also switches over all Travis and AppVeyor automation to using sccache to ensure a shared and unified cache over time which can be shared across builders. The support for sccache manifests as a new `--enable-sccache` option which instructs us to configure LLVM differently to use a 'sccache' binary instead of a 'ccache' binary. All docker images for Travis builds are updated to download Mozilla's tooltool builds of sccache onto various containers and systems. Additionally a new `rust-lang-ci-sccache` bucket is configured to hold all of our ccache goodies.
2016-12-13Fix travis buildsAlex Crichton-0/+5
After reading some articles [1] [2] yesterday about Docker and the "init" process I got to thinking about the problems that we've been seeing on Travis. The basic problem is that a Linux system may need an "init" process to work properly when processes become zombies. Docker by default doesn't handle this and the root process typically isn't an init process, so this can occasionally cause quite a few problems. We've been seeing spurious errors on Travis inside containers which look like OOM and such, but my guess is that zombie processes were being reparented to the top-level shell. The shell didn't expect the zombies and then behaved very strangely. This commit fixes these problems by using Yelp's "dumb-init" program [2] as the init process in all of our containers. This ensures that there's a valid init ready to reap children when they're reparented, which our test suite apparently generates a bunch of throughout the tests and such. [1]: https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/ [2]: https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
2016-11-11Move all Linux/OSX CI infastructure to TravisAlex Crichton-0/+22
This commit configures our `.travis.yml` to test the full suite of tests we have on Buildbot right now. A whole mess of docker images are added to the `src/ci` directory which represent all the build environments for each configuration. Each of these environments is then configured in `.travis.yml` to run on the auto branch. Note that the full matrix of tests aren't intended to be run on all PRs. Instead, we continue to run only one entry in the matrix, forcing all others to finish quickly. Only the `auto` branch should run the full matrix of builds. Also note that the infrastructure hasn't quite been allocated yet to the rust-lang/rust repository, so everything is disabled for now except for the one build that happens on PRs. Once that infrastructure is allocated though we can enable this and let it fly! Notable modifications from the current test suite today: * Android tests are run in rustbuild instead of the makefiles, for whatever reason I couldn't get the makefiles to work on Travis. * A debuginfo test was updated to work with the current version of the Android NDK. * Some dependencies in `mk/tests.mk` were fixed to allow running tests in parallel.