summary refs log tree commit diff
path: root/src/ci/run.sh
AgeCommit message (Collapse)AuthorLines
2017-01-31Bump to 1.17Brian Anderson-1/+1
2017-01-20Merge branch 'older-glibc' into rollupAlex Crichton-14/+9
2017-01-19travis: Move glibc backwards in timeAlex Crichton-14/+9
This commit updates the compilers for many of the artifacts that we're producing on Travis. These compilers are all compiled by crosstool-ng as they're currently done for the images in which we're building all our cross compiled compilers. The purpose of this commit is that when we ship binaries the artifacts won't require a newer glibc, but rather be as compatible as possible with Linux distributions by working with a very old version of glibc. This commit always allocates a new matrix entry for the i686/x86_64 builder. This builder is dedicated to just producing artifacts and eventually we'll expand it to building other tools like Cargo and the RLS. The other builders testing i686 and x86_64 won't use these historical toolchains.
2017-01-17travis: Pass --enable-llvm-static-stdcppAlex Crichton-0/+1
All our releases are compiled with this, so let's be sure to do so whenever `DEPLOY` is set. This'll ensure that we don't have dynamic dependencies on libstdc++ which LLVM depends on, but instead we link it all statically to have more portable binaries.
2017-01-16travis: Pass --release-channel=nightly on deployAlex Crichton-10/+33
This commit passes the `--release-channel=nightly` flag to all images which have the `DEPLOY` flag set. This means that we'll name artifacts and the compiler appropriately. This reworks a bit how arguments are passed, but for now doesn't change what's already being passed. Eventually we'll want to avoid enabling debug assertions and llvm assertions for *all* releases, but I figure we can tackle that a little bit more down the road.
2017-01-12travis: Start uploading artifacts on commitsAlex Crichton-7/+3
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-30travis: Add a distcheck targetAlex Crichton-5/+9
This commit adds a new entry to the Travis matrix which performs a "distcheck", which basically means that we create a tarball, extract that tarball, and then build/test inside there. This ensures that the tarballs we produce are actually able to be built/tested! Along the way this also updates the rustbuild distcheck definition to propagate the configure args from the top-level invocation. Closes #38691
2016-12-14rustbuild: Add sccache supportAlex Crichton-5/+1
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-07mk: Switch rustbuild to the default build systemAlex Crichton-7/+19
This commit switches the default build system for Rust from the makefiles to rustbuild. The rustbuild build system has been in development for almost a year now and has become quite mature over time. This commit is an implementation of the proposal on [internals] which slates deletion of the makefiles on 2016-01-02. [internals]: https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368 This commit also updates various documentation in `README.md`, `CONTRIBUTING.md`, `src/bootstrap/README.md`, and throughout the source code of rustbuild itself. Closes #37858
2016-11-11Move all Linux/OSX CI infastructure to TravisAlex Crichton-0/+44
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.