Commit graph

83 commits

Author SHA1 Message Date
Eh2406 9a8321afc1 RIP, minimal-versions testing. You will be missed. 2019-03-16 16:55:37 -04:00
Eh2406 ed9386bd24 Proptest 0.9.1
This is a rework of #6636 now possible do to the change in testing from #6748
2019-03-16 08:00:39 -04:00
Eric Huss 6f86f63708 Stop building on master on Travis. 2019-01-17 17:03:53 -08:00
Dale Wijnand dc32c6015e
Revert "Workaround by using yesterday's nightly"
This reverts commit 5576372d38.
2019-01-11 10:36:40 +00:00
Dale Wijnand 5576372d38
Workaround by using yesterday's nightly 2019-01-10 10:10:11 +00:00
Dale Wijnand 59dceb9fdf
Use travis_terminate to fast fail
Workaround for https://github.com/travis-ci/travis-ci/issues/1066
2019-01-10 09:25:54 +00:00
Dale Wijnand c0daa6f040
Run master branch tests on Travis CI for the badge
Only run for Rust stable and the Linux target.
2019-01-10 07:05:02 +00:00
Eric Huss 0615d9102f On CI only use mdbook 0.1.7. 2018-12-14 14:11:24 -08:00
Dale Wijnand 0e031b5a96
Allow testsuite warnings in dev
This makes the deny(warnings) in the testsuite conditional on a new
"deny-warnings" feature, that is then enabled in CI.

Ideally I could use the (reasonably well established) CI env var (like
we do for proptests), but I don't know how to get the attribute to be
defined in terms of an env var.
2018-12-13 01:03:08 +00:00
Dale Wijnand cd87368fc5
Upgrade the minimum supported Rust to 1.31.0 2018-12-07 10:05:59 +01:00
Eric Huss 20b5ca3dec Fix slow MacOS Travis issue. 2018-11-02 15:31:31 -07:00
Eric Huss 75494c304e Disable master in CI.
There's no need to build and test the exact same commit twice between
bors's auto branch and master. Hopefully this will help reduce the
bors timeouts due to waiting on appveyor.
2018-09-18 07:18:41 -07:00
Eh2406 637e606b72 bump min rust, and remove nightly check 2018-08-15 10:51:29 -04:00
Eh2406 06d28ebe4d try running tests with minimal-versions on CI 2018-08-14 10:58:42 -04:00
Eh2406 2797f6c7b4 Use nightly for -Z but use MSRV=stable for test 2018-07-23 22:43:04 -04:00
Eh2406 16bbb950f7 separate Travis builder 2018-07-23 11:37:08 -04:00
Eh2406 17e01401b1 test is ambitious let's start with check 2018-07-20 18:52:28 -04:00
Eh2406 f5ced933b8 add to CI 2018-07-20 17:13:24 -04:00
Eric Huss 4eb42cd877 Unpin nightly version in CI.
Removes temporary workaround for rust-lang/rust#49033.
2018-04-05 06:42:48 -07:00
Alex Crichton 194a161465 Remove rustfmt from Travis
As discussed at the recent work week this is probably a bit too zealous at this
time, so let's hold off on it until it's either more stable or we figure out a
better way to deal with changes in rustfmt.

For now though it'll hopefully be easy to continue running rustfmt every so
often!
2018-04-02 08:48:53 -07:00
Alex Crichton 3d858148a3 Pin to an older nightly temporarily
Needs a workaround until rust-lang/rust#49033 is fixed
2018-03-14 21:46:27 -07:00
Alex Crichton a13a33c33b Add cargo fmt to CI and delete rustfmt.toml
This commit adds CI to run `cargo fmt` over Cargo itself as well as the internal
`crates-io` crate. This should switch Cargo to the "default style" (aka whatever
rustfmt spits out) and ensure that we keep it that way via CI. Hopefully this
won't be too much of a bother to keep up and running in CI as it should just be
a `cargo fmt` away!
2018-03-14 17:47:13 -07:00
Alex Crichton c933673e7d Try a lot harder to recover corrupt git repos
We've received a lot of intermittent bug reports historically about corrupt git
repositories. These inevitably happens as Cargo is ctrl-c'd or for whatever
other reason, and to provide a better user experience Cargo strives to
automatically handle these situations by blowing away the old checkout for a new
update.

This commit adds a new test which attempts to pathologically corrupt a git
database and checkout in an attempt to expose bugs in Cargo. Sure enough there
were some more locations that we needed to handle gracefully for corrupt git
checkouts. Notable inclusions were:

* The `fetch` operation in libgit2 would fail due to corrupt references. This
  starts by adding an explicit whitelist for classes of errors coming out of
  `fetch` to auto-retry by blowing away the repository. We need to be super
  careful here as network errors commonly come out of this function and we don't
  want to too aggressively re-clone.

* After a `fetch` succeeded a repository could fail to actual resolve a
  git reference to the actual revision we want. This indicated that we indeed
  needed to blow everything away and re-clone entirely again.

* When creating a checkout from a database the `reset` operation might fail due
  to a corrupt local database of the checkout itself. If this happens we needed
  to just blow it away and try again.

There's likely more lurking situations where we need to re-clone but I figure we
can discover those over time.
2018-03-02 15:32:24 -08:00
Alex Crichton 1271bb4de0 Delete the old docs, lift up the new
This commit deletes the old documentation now that the "official source" is the
main book. The book is now lifted up directly into `src/doc` instead of
`src/doc/book`.

The CI no longer builds documentation and has been updated to just run mdbook to
make sure there's no errors. The documentation will actually get published in
the rust-lang/rust repo
2018-01-05 11:10:55 -08:00
Alex Crichton 45cc30bc73 Enable incremental by default
This commit enables incremental compilation by default in Cargo for all
dev-related profiles (aka anything without `--release` or `bench`. A
number of new configuration options were also added to tweak how
incremental compilation is exposed and/or used:

* A `profile.dev.incremental` field is added to `Cargo.toml` to disable
  it on a per-project basis (in case of bugs).
* A `build.incremental` field was added in `.cargo/config` to disable
  globally (or enable if we flip this default back off).

Otherwise `CARGO_INCREMENTAL` can still be used to configure one
particular compilation. The global `build.incremental` configuration
cannot currently be used to enable it for the release profile.
2017-12-21 10:56:51 -08:00
Alex Crichton 5c7482af81 Pin nightlies temporarily 2017-11-28 18:17:15 -08:00
bors 7c33b5c146 Auto merge of #4676 - mgeisler:ci-caching, r=alexcrichton
Explain why caching is only done on $HOME/.cargo/bin/ in Travis

After having experimented with the Travis and AppVeyor caches, I concluded that they don't really help here: they're large and take a very long time to both download when the build starts and upload after it is finished.
2017-10-31 00:48:46 +00:00
Martin Geisler d70a3b1ec2 Explain why we are not using 'cache: cargo' with Travis 2017-10-30 23:29:28 +01:00
Carol (Nichols || Goulding) 228c208cc3 Revert "Auto merge of #4659 - integer32llc:pin-nightly, r=alexcrichton"
This reverts commit 55442e8922, reversing
changes made to 92a3a4efa2.
2017-10-30 11:10:29 -04:00
Carol (Nichols || Goulding) 4f3795b4a8 try pinning to a nightly of two weeks ago 2017-10-24 14:04:52 -04:00
Behnam Esfahbod 0971aac7cd [travis] Enable cache for $HOME/.cargo/bin/
This should accelerate the `cargo install mdbook` step under `install`,
which is currently called on all linux+nightly setups.
2017-09-22 01:02:18 -07:00
Behnam Esfahbod 102ab97f80 [doc] Publish book to gh-pages 2017-09-01 10:02:29 -07:00
Alex Crichton 50a46f4708 Remove lots of dated configuration from this repo
Lots of data build stuff is still here from awhile ago when this repo was
producing Cargo binaries, but the rust-lang/rust repo is now responsible for all
these binaries and build configurations. We no longer need to produce artifacts
or have tons of cross-compiles as rust-lang/rust does all that work, instead
let's just test the likely-to-regress platforms and have rust-lang/rust take
care of the rest.

This commit:

* Deletes the old `configure` script and `Makefile`
* Rewrites `src/doc` management as a shell script
* Trims down Travis/AppVeyor configuration
2017-05-31 14:23:01 -07:00
Marco A L Barbosa f723268c89 Remove android build for aarch64, arm and i686 2017-04-11 17:31:20 -03:00
Marco A L Barbosa 1f7ebd1e60 Add android build to travis 2017-04-11 17:22:12 -03:00
Alex Crichton b1973ba126 Attempt to fix CI
Travis looks to have switched to rustup.rs
2017-03-23 08:28:12 -07:00
Alex Crichton 401153c207 Tweak travis targets and dates
Just trying to get a PR to land...
2017-03-11 23:07:02 -08:00
Alex Crichton 948d372436 Disable caches on AppVeyor/Travis
They just seem to grow without bound and cause problems unfortunately :(
2017-02-17 08:23:23 -08:00
Alex Crichton 41accdfd03 Update travis token and fix warning 2017-01-20 08:49:57 -08:00
Carol (Nichols || Goulding) 51d55488ef Remove $USER from the --user argument from pip install 2017-01-19 16:21:15 -05:00
Alex Crichton 541983bb45 Run full Travis builds on all non-PR branches
This'll result in duplicate work when merging, but otherwise we're not uploading
docs.
2017-01-19 09:21:32 -08:00
Alex Crichton 46fff01340 Minor build tweaks
* Clean out OpenSSL when building
* Test 32-bit Cargo on OSX, not the 64-bit version on the 32-bit builder
2016-12-15 16:28:07 -08:00
Alex Crichton b000ac67e1 Fix compatibility with Rust nightly
These two tests actually shouldn't have ever passed, but nightly Rust is more
principled about "$OUT_DIR" and doesn't leak it where possible, so these two
tests were accidentally compiling due to leaking '$OUT_DIR' for Cargo itself.
2016-12-13 17:18:32 -08:00
Alex Crichton 203d0da9d6 Upload sha256 sums of cargo artifacts 2016-12-05 22:54:11 -08:00
Alex Crichton d3080f820f Upload to a different bucket 2016-12-01 10:55:16 -08:00
Alex Crichton cf71ae0d45 Slight tweaks to CI
* Pass `--quiet` to all tests to have some quieter output
* Skip builds on branches other than `auto-cargo` as it's already checked
* Check the right env var for repo branches on appveyor
* Only run a few builds on PRs
2016-11-30 22:56:20 -08:00
Alex Crichton 7a9f908738 Add support for release branches in Cargo
Follow the same strategy as the compiler for now in basically every respect:

* Add new `--release-channel` configure option, defaulting to `dev`
* Remove old `--enable-nightly`
* Add `--enable-build-openssl` as an orthogonal option
* Hook up Travis/AppVeyor to stable/beta/master branches to do the right
  channel builds.
2016-11-30 09:36:16 -08:00
Alex Crichton 8ab8595cb5 Compile OpenSSL from source on OSX
I'm seeing a bunch of weird illegal instructions on OSX nightlies for
Cargo. My guess is that they're all related to OpenSSL linking. Right
now we're linking from Homebrew but I have a sneaking suspicion that it
compiles with `-march=native` rather than what we'd like as a portable
binary. To work around this compile OpenSSL ourselves and link it that
way.

Note that I believe this won't bring in the certificate trust store of
OpenSSL on OSX (or at least not the right one from the keychain). We
shouldn't need that, however, as OpenSSL is just used as the
cryptographic primitives in libssh2 and Cargo itself. So in that sense
we shouldn't need it for actually SSL at all.
2016-11-26 15:01:37 -08:00
Alex Crichton 15acaa9c31 More updates for OpenSSL 1.1.0 2016-11-14 13:55:11 -08:00
Josh Stone 10c670831e Set OPENSSL_DIR for CI 2016-11-11 11:06:07 -08:00