about summary refs log tree commit diff
path: root/appveyor.yml
AgeCommit message (Collapse)AuthorLines
2019-07-15ci: Remove Travis/AppVeyor configurationAlex Crichton-9/+0
Now that we've fully moved to Azure Pipelines and bors has been updated to only gate on Azure this commit removes the remaining Travis/AppVeyor support contained in this repository. Most of the deletions here are related to producing better output on Travis by folding certain sections. This isn't supported by Azure so there's no need to keep it around, and if Azure ever adds support we can always add it back!
2019-07-01ci: finish the migration to azurePietro Albini-107/+2
2019-06-28ci: Move most builders to Azure PipelinesAlex Crichton-161/+0
This commit disables all builders on Travis and almost all builders on AppVeyor now that they're all running on Azure Pipelines. There is one remaining builder on AppVeyor which hasn't been migrated yet due to a test failure on Azure, which we'll be debugging soon. One remaining builder is left on Travis which is the tools builder whenever a submodule is changed, but we'll probably turn that off soon since it's just for PRs. The other major change in this PR is that the auto builders on Azure are now configured with "real" prod credentials which should cause them to publish all artifacts into the official CI buckets.
2019-05-29Update all s3 URLs used on CI with subdomainsAlex Crichton-10/+10
Ensure that they're all forwards-compatible with AWS updates happening next year by ensuring the bucket name shows up in the domain name. Closes #61168
2019-05-26Auto merge of #61080 - mati865:mingw_pgo, r=sanxiynbors-2/+2
Ship profiler with windows-gnu Fixes https://github.com/rust-lang/rust/issues/49409 I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: https://github.com/rust-lang/rust/issues/59637. r? @michaelwoerister P.S. I have tested only x86_64 build.
2019-05-23Ship profiler with windows-gnuMateusz MikuĊ‚a-2/+2
2019-05-10Add Azure PipelinesJohn Erickson-4/+4
2019-05-08AppVeyor: Update clang-cl from 7.0.0 to 8.0.0Michael Woerister-3/+3
2019-04-02ci: Disable llvm/debug assertions on x86_64-mingwAlex Crichton-0/+9
Tracked at #59637 for re-enabling this commit disables assertions to hopefully bring the runtime for this builder under control.
2019-03-31ci: print the appveyor agent version at the start of the buildPietro Albini-0/+2
2019-03-16CI: Set job names.Eric Huss-28/+28
This should make it easier to identify what each job is doing when looking at the Travis or Appveyor UI. - Set `name` for each job in Travis. - Move `CI_JOB_NAME` to the front in Appveyor so that it appears first in the UI.
2019-03-16Rollup merge of #58854 - alexcrichton:update-windows, r=Mark-Simulacrumkennytm-1/+3
appveyor: Use VS2017 for all our images Originally added in #55935 to test build times, this was reverted in #56201 due to a belief that it caused the exit code 259 spurious errors. We've since learned, however, that the 259 exit code is likely not related to this image update as we're getting it in a number of locations now. VS2017 looks like it may be required to compile LLVm in the near future, notably discovered by #58408 where we attempted to update LLVM.
2019-03-01appveyor: Use VS2017 for all our imagesAlex Crichton-1/+3
Originally added in #55935 to test build times, this was reverted in #56201 due to a belief that it caused the exit code 259 spurious errors. We've since learned, however, that the 259 exit code is likely not related to this image update as we're getting it in a number of locations now. VS2017 looks like it may be required to compile LLVm in the near future, notably discovered by #58408 where we attempted to update LLVM.
2019-03-01Revert "Auto merge of #58597 - pietroalbini:appveyor-gce, r=alexcrichton"Pietro Albini-5/+0
This reverts commit fd42f24b0129b32d66f174510518c083cdcec3eb, reversing changes made to 0e25a6829c66302dc06c351bb494774e3d075f77.
2019-02-20ci: switch appveyor to gce builders to try debugging the 259 failurePietro Albini-0/+5
2019-02-06Revert "Rollup merge of #58162 - pietroalbini:track-259, r=alexcrichton"Pietro Albini-4/+1
This reverts commit 4c243e2c3d8f02cdcd22fe68acf6a0b3edca2078, reversing changes made to 64f0032a3739b18ae45387744340d9c7ce48b145.
2019-02-04add more debugging code to track down appveyor 259 exit codePietro Albini-1/+4
2019-01-14Remove GCE cloud setting from AppVeyor configAlex Crichton-6/+0
AppVeyor has informed us that this may no longer be necessary after some infrastructure upgrades on their side, so let's see how this goes!
2018-11-25Revert "appveyor: Use VS2017 for all our images"kennytm-4/+1
This reverts commit 008e5dcbd55cd751717ffd35a51dd65cd40011d4.
2018-11-23Auto merge of #55935 - alexcrichton:vs2017, r=Mark-Simulacrumbors-2/+4
appveyor: Use VS2017 for all our images This was [recommended by AppVeyor][1] to see if it has any impact on our build times, hopefully on the beneficial side of things! This shouldn't affect our binary compatibility for generated compilers like it would normally do for Linux. [1]: https://help.appveyor.com/discussions/questions/29832-did-recent-changes-apply-to-possibly-slow-down-builds#comment_46484879
2018-11-13appveyor: Use VS2017 for all our imagesAlex Crichton-2/+4
This was [recommended by AppVeyor][1] to see if it has any impact on our build times, hopefully on the beneficial side of things! This shouldn't affect our binary compatibility for generated compilers like it would normally do for Linux. [1]: https://help.appveyor.com/discussions/questions/29832-did-recent-changes-apply-to-possibly-slow-down-builds#comment_46484879
2018-11-13Switch AppVeyor builds to the GCE cloudAlex Crichton-0/+6
[Recommended by AppVeyor][1] this isn't done by default for all builds due to the high startup overhead (3-4 minutes for a VM), but that's paltry compared to our overall build times so should be more than applicable! [1]: https://help.appveyor.com/discussions/questions/29832-did-recent-changes-apply-to-possibly-slow-down-builds#comment_46494058
2018-11-02Auto merge of #54718 - froydnj:aarch64-ci, r=alexcrichtonbors-3/+5
add an appveyor config for aarch64-pc-windows-msvc This is purely a cargo-cult of things to solicit feedback from humans and/or automation failures. Not sure that the build artifacts would get packaged properly to start providing nightly tarballs for `libstd`, but this is at least a start. Fixes #53864.
2018-10-31switch to LLVM 7.0 as the host compilerNathan Froyd-3/+3
This version ought to work better with MSVC 15.9 preview headers.
2018-10-31add an appveyor config for aarch64-pc-windows-msvcNathan Froyd-0/+2
Fixes #53864.
2018-10-24ci: Move global credentials to web configurationAlex Crichton-15/+4
This commit moves a number of our encrypted credentials stored in configuration files in this repository to env vars on the web UI. This will hopefully make it easier to rotate credentials in the future as well as quickly change them if the need arises. (quicker than landing a PR that is). This also updates the travis deployment process to always use the `aws` command line tool which we're already installing on Linux and should enable us to avoid all `dpl` gem issues as well as have greater control over what's going where.
2018-09-28Add DIST_REQUIRE_ALL_TOOLS to CI scriptsChristian Poveda-0/+4
2018-05-14Migrate the toolstate update bot to rust-highfivekennytm-1/+1
2018-05-12AppVeyor: Dump crash log on failure.kennytm-0/+5
2018-05-09ci: Compile LLVM with Clang 6.0.0Alex Crichton-2/+16
Currently on CI we predominately compile LLVM with the default system compiler which means gcc on Linux, some version of Clang on OSX, MSVC on Windows, and gcc on MinGW. This commit switches Linux, OSX, and Windows to all use Clang 6.0.0 to build LLVM (aka the C/C++ compiler as part of the bootstrap). This looks to generate faster code according to #49879 which translates to a faster rustc (as LLVM internally is faster) The major changes here were to the containers that build Linux releases, basically adding a new step that uses the previous gcc 4.8 compiler to compile the next Clang 6.0.0 compiler. Otherwise the OSX and Windows scripts have been updated to download precompiled versions of Clang 6 and configure the build to use them. Note that `cc` was updated here to fix using `clang-cl` with `cc-rs` on MSVC, as well as an update to `sccache` on Windows which was needed to correctly work with `clang-cl`. Finally the MinGW compiler is entirely left out here intentionally as it's currently thought that Clang can't generate C++ code for MinGW and we need to use gcc, but this should be verified eventually.
2018-04-06Give a name to every CI job.kennytm-0/+14
Bots that read the log can simply look for `[CI_JOB_NAME=...]` to find out the job's name.
2018-04-02Update sccache to its master branchAlex Crichton-8/+2
Ideally I'd like to soon enable sccache for rustbuild itself and some of the stage0 tools, but for that to work we'll need some better Rust support than the pretty old version we were previously using!
2018-03-24appveyor: Move run-pass-fulldeps to extra buildersAlex Crichton-4/+4
We've made headway towards splitting the test suite across two appveyor builders and this moves one more tests suite between builders. The last [failed build][fail] had its longest running test suite and I've moved that to the secondary builder. cc #48844 [fail]: https://ci.appveyor.com/project/rust-lang/rust/build/1.0.6782
2018-03-07Fix an error in the appveyor configAlex Crichton-1/+1
2018-03-07appveyor: Shard more slow MSVC buildersAlex Crichton-3/+9
Take two more slow builders and split them in two to get them under 2 hrs
2018-03-03rust: Import LLD for linking wasm objectsAlex Crichton-6/+4
This commit imports the LLD project from LLVM to serve as the default linker for the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently removed along with "binaryen linker" support in rustc. Moving to LLD brings with it a number of benefits for wasm code: * LLD is itself an actual linker, so there's no need to compile all wasm code with LTO any more. As a result builds should be *much* speedier as LTO is no longer forcibly enabled for all builds of the wasm target. * LLD is quickly becoming an "official solution" for linking wasm code together. This, I believe at least, is intended to be the main supported linker for native code and wasm moving forward. Picking up support early on should help ensure that we can help LLD identify bugs and otherwise prove that it works great for all our use cases! * Improvements to the wasm toolchain are currently primarily focused around LLVM and LLD (from what I can tell at least), so it's in general much better to be on this bandwagon for bugfixes and new features. * Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which means a postprocessor is no longer needed to show off Rust's "small wasm binary size". LLD is added in a pretty standard way to rustc right now. A new rustbuild target was defined for building LLD, and this is executed when a compiler's sysroot is being assembled. LLD is compiled against the LLVM that we've got in tree, which means we're currently on the `release_60` branch, but this may get upgraded in the near future! LLD is placed into rustc's sysroot in a `bin` directory. This is similar to where `gcc.exe` can be found on Windows. This directory is automatically added to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd` linker which implements the interface that `wasm-ld`, LLD's frontend, expects. Like Emscripten the LLD target is currently only enabled for Tier 1 platforms, notably OSX/Windows/Linux, and will need to be installed manually for compiling to wasm on other platforms. LLD is by default turned off in rustbuild, and requires a `config.toml` option to be enabled to turn it on. Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD has a native option for controlling this. [gc]: https://reviews.llvm.org/D42511
2018-02-23Split MinGW tests into two builders on AppVeyorMark Simulacrum-1/+7
Run-pass and compile-fail tests appear to take the most significant chunk of time, so split them into their own builder.
2018-01-28rustc: Split Emscripten to a separate codegen backendAlex Crichton-2/+4
This commit introduces a separately compiled backend for Emscripten, avoiding compiling the `JSBackend` target in the main LLVM codegen backend. This builds on the foundation provided by #47671 to create a new codegen backend dedicated solely to Emscripten, removing the `JSBackend` of the main codegen backend in the process. A new field was added to each target for this commit which specifies the backend to use for translation, the default being `llvm` which is the main backend that we use. The Emscripten targets specify an `emscripten` backend instead of the main `llvm` one. There's a whole bunch of consequences of this change, but I'll try to enumerate them here: * A *second* LLVM submodule was added in this commit. The main LLVM submodule will soon start to drift from the Emscripten submodule, but currently they're both at the same revision. * Logic was added to rustbuild to *not* build the Emscripten backend by default. This is gated behind a `--enable-emscripten` flag to the configure script. By default users should neither check out the emscripten submodule nor compile it. * The `init_repo.sh` script was updated to fetch the Emscripten submodule from GitHub the same way we do the main LLVM submodule (a tarball fetch). * The Emscripten backend, turned off by default, is still turned on for a number of targets on CI. We'll only be shipping an Emscripten backend with Tier 1 platforms, though. All cross-compiled platforms will not be receiving an Emscripten backend yet. This commit means that when you download the `rustc` package in Rustup for Tier 1 platforms you'll be receiving two trans backends, one for Emscripten and one that's the general LLVM backend. If you never compile for Emscripten you'll never use the Emscripten backend, so we may update this one day to only download the Emscripten backend when you add the Emscripten target. For now though it's just an extra 10MB gzip'd. Closes #46819
2017-12-30Requires tools to test-pass if the corresponding submodule is updated.kennytm-1/+1
If a PR intends to update a tool but its test has failed, abort the merge regardless of current channel. This should help the tool maintainers if the update turns out to be failing due to changes in latest master.
2017-12-27Upload the toolstate to the remote repository.kennytm-2/+4
2017-12-26Fixup some previous configuration errors.kennytm-1/+1
2017-12-03Update the tools CI to use --no-fail-fast and --save-toolstates.kennytm-7/+2
2017-12-03Move the swap the tools test and cargotest within check-aux.kennytm-2/+7
The cargotest job is renamed to tools for clarification.
2017-10-23Move cargotest to separate jobs on Travis-CI and AppVeyorSimon Sapin-0/+5
2017-09-17Rollup merge of #44617 - alexcrichton:download-from-us-west-1, r=aidanhsTim Neumann-12/+12
ci: Upload/download from a new S3 bucket Moving buckets from us-east-1 to us-west-1 because us-west-1 is where rust-central-station itself runs and in general is where we have all our other buckets.
2017-09-16ci: Upload/download from a new S3 bucketAlex Crichton-12/+12
Moving buckets from us-east-1 to us-west-1 because us-west-1 is where rust-central-station itself runs and in general is where we have all our other buckets.
2017-09-14travis: Move sccache to the us-west-1 regionAlex Crichton-1/+2
Most of the other rust-lang buckets are in us-west-1 and I think the original bucket was just accidentally created in the us-east-1 region. Let's consolidate by moving it to the same location as the rest of our buckets.
2017-09-09Rotate Travis/AppVeyor S3 keysAlex Crichton-6/+6
Haven't done this in awhile so seems like a good idea!
2017-08-22appveyor: Use InnoSetup from our mirrorAlex Crichton-1/+2
Chocolatey has been pretty flaky, so let's not rely on it. Closes #43985
2017-08-15Stop testing i586-pc-windows-msvc on AppVeyor.kennytm-1/+1
Fixes #43881. Reduces AppVeyor test time back to ~2 hours on average. The i586 libstd was never tested before Aug 13th, so this PR brings the situation back to the previous status-quo.