Commit graph

646 commits

Author SHA1 Message Date
bors
f834695781 Auto merge of #63521 - newpavlov:redox_builder, r=pietroalbini
Re-enable Redox builder (take 2)

Closes: #63160
2019-08-23 08:58:24 +00:00
Pietro Albini
9b8514bb87
ci: move libc mirrors to the rust-lang-ci-mirrors bucket 2019-08-21 09:14:21 +02:00
Artyom Pavlov
51dcdcfd94
Merge branch 'master' into redox_builder 2019-08-17 18:54:56 +00:00
Mazdak Farrokhzad
6b0a83862c
Rollup merge of #63636 - pietroalbini:ci-mingw, r=alexcrichton
ci: move linkcheck from mingw-2 to mingw-1

Running UI tests now takes a huge amount of time on mingw builders
(between 40 and 50 minutes), with mingw-1 builders taking even an hour
less to finish than mingw-2. This PR moves linkcheck from mingw-2 to
mingw-1, removing between 10 and 20 minutes of runtime on the -2
builders.

r? @alexcrichton
2019-08-16 18:22:34 +02:00
Pietro Albini
9df2dac4e9
ci: move linkcheck from mingw-2 to mingw-1
Running UI tests now takes a huge amount of time on mingw builders
(between 40 and 50 minutes), with mingw-1 builders taking even an hour
less to finish than mingw-2. This PR moves linkcheck from mingw-2 to
mingw-1, removing between 10 and 20 minutes of runtime on the -2
builders.
2019-08-16 17:02:01 +02:00
Pietro Albini
d50a9b189e
ci: properly set the job name in CPU stats 2019-08-16 15:36:55 +02:00
Marco A L Barbosa
5941acd80f Use libunwind from llvm-project submodule for musl targets 2019-08-15 08:45:10 -03:00
Mazdak Farrokhzad
051598b29e
Rollup merge of #63511 - pietroalbini:pa-ci-date, r=Mark-Simulacrum
ci: add a check for clock drift

Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.

cc https://github.com/rust-lang/rust/issues/63510
r? @Mark-Simulacrum
2019-08-14 04:18:52 +02:00
newpavlov
7b8273c2e8 Re-enable Redox builder (take 2) 2019-08-13 17:21:45 +03:00
Pietro Albini
686553dfce
ci: add a check for clock drift
Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.
2019-08-13 09:52:35 +02:00
Pietro Albini
eb832b2a32
ci: move mirrors to their standalone bucket
Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with
CI toolchains. This is problematic for multiple reasons:

- CI IAM credentials are allowed to both edit and delete those files.
  A malicious user gaining access to those credentials would be able to
  change our mirrored dependencies, possibly backdooring the compiler.

- Contents of the rust-lang-ci2 bucket are disposable except for the
  mirrors' content. When we implement backups for S3 buckets we'd have
  to replicate just that part of the bucket, complicating the backup
  logic and increasing the chance of mistakes. A standalone bucket will
  be way easier to backup.

This commit switches our CI to use the new rust-lang-ci-mirrors bucket.
2019-08-12 10:31:35 +02:00
Mateusz Mikuła
c7e16c5f47 Check links on all platforms when running locally 2019-08-09 10:32:34 +02:00
Ralf Jung
946bed89da remove test-miri flag from bootstrap 2019-08-08 19:31:46 +02:00
Pietro Albini
6e3c4c3b8e
ci: move .azure-pipelines to src/ci/azure-pipelines 2019-08-03 18:21:38 +02:00
Mazdak Farrokhzad
a2735a3e0d
Rollup merge of #63107 - adrian-budau:master, r=alexcrichton
Added support for armv7-unknown-linux-gnueabi/musleabi

Fixes #63101

Some things that are not done and I hope someone can help me with:

* During the ci build of `armv7-unknown-linux-gnueabi` `openssl` must be built (to build cargo) but `openssl` does not yet support this target. This feels slightly like a chicken-and-egg problem, any feedback is welcome.
* Should I add any tests for any of these targets?
2019-08-03 00:09:04 +02:00
Adrian Budau
2b0f4483d2
Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.
Support for the targets in the compiler and std build in the CI.
2019-08-02 20:06:36 +03:00
bors
fc3ef9698f Auto merge of #61393 - gnzlbg:update_libc, r=gnzlbg
Update Cargo.lock
2019-08-02 07:45:05 +00:00
gnzlbg
b1e79ed6fb Temporarily disable the redox builder 2019-08-01 17:01:33 +02:00
Pietro Albini
b1d5e52840
Rollup merge of #63191 - pietroalbini:really-fix-toolstate, r=alexcrichton
ci: fix toolstate not pushing data for Linux

A recent commit modified toolstate to only push updated data when the `TOOLSTATE_PUBLISH` environment variable is present. This worked fine on Windows but failed on Linux, since Linux jobs run inside Docker containers and the variable wasn't forwarded inside it.

This changes the Docker startup code to set the `TOOLSTATE_PUBLISH` enviornment variable inside the container if it's present outside.

r? @alexcrichton
fixes https://github.com/rust-lang/rust/issues/63190
2019-08-01 16:00:34 +02:00
Pietro Albini
8f8b3f26c2
ci: forward the TOOLSTATE_PUBLISH environment variable inside docker
A recent commit modified toolstate to only push updated data when the
TOOLSTATE_PUBLISH environment variable is present. This worked fine on
Windows but failed on Linux, since Linux jobs run inside Docker
containers and the variable wasn't forwarded inside it.

This changes the Docker startup code to set the TOOLSTATE_PUBLISH
enviornment variable inside the container if it's present outside.
2019-08-01 15:57:21 +02:00
Mazdak Farrokhzad
2826bdcfa6
Rollup merge of #62759 - mark-i-m:rustc-guide-toolstate-check, r=kennytm
Actually add rustc-guide to toolstate, don't fail builds for the guide

cc @ehuss

r? @kennytm
2019-07-28 11:11:06 +02:00
Mazdak Farrokhzad
34c0f4698b
Rollup merge of #63050 - pietroalbini:vendor-awscli, r=Mark-Simulacrum
ci: download awscli from our mirror

This fixes multiple network issues we had when downloading awscli from PyPI on Azure Pipelines by vendoring awscli itself and its dependencies in our S3 bucket. Instructions on how to update the cache are present at the top of `src/ci/install-awscli.sh`.

r? @alexcrichton or @Mark-Simulacrum
fixes #62967
2019-07-28 03:01:55 +02:00
Mazdak Farrokhzad
fb6fdd4682
Rollup merge of #62949 - mati865:patch-1, r=alexcrichton
Re-enable assertions in PPC dist builder

Fixes https://github.com/rust-lang/rust/issues/36150

Log of successful build:
https://dev.azure.com/mati865/6518b167-4cf6-4587-b3d1-8e137f2fb2e4/_apis/build/builds/23/logs/825
2019-07-28 03:01:50 +02:00
Pietro Albini
75dfdcb065
ci: download awscli from our mirror
This fixes multiple network issues we had when downloading awscli from
PyPI on Azure Pipelines by vendoring awscli itself and its dependencies
in our S3 bucket. Instructions on how to update the cache are present at
the top of src/ci/install-awscli.sh
2019-07-27 22:19:00 +02:00
Vadim Petrochenkov
42a317a1cd Remove run-pass test suites 2019-07-27 18:56:17 +03:00
Mazdak Farrokhzad
7e1ce7da80
Rollup merge of #62970 - pietroalbini:fix-tools-builder, r=alexcrichton
ci: gate toolstate repo pushes on the TOOLSTATE_PUBLISH envvar

This PR fixes toolstate failing to push on the LinuxTools PR builder by gating the pushes on the new `TOOLSTATE_PUBLISH` environment variable, which is set on prod credentials but not on the PR ones. The old code checked whether the access token was set, but that doesn't work due to an Azure quirk.

For a bit of background, secret environment variables are not available by default, but each step needs to explicitly declare which secret vars to load:

```yaml
- bash: echo foo
  env:
    SECRET_VAR: $(SECRET_VAR)
```

This works fine when the variable is present but when it's missing, instead of setting `SECRET_VAR` to an empty string or just not setting it at all, Azure Pipelines puts the literal `$(SECRET_VAR)` as the content, which completly breaks the old check we had. I tried almost every thing to make this work in a sensible way, and the only conclusion I reached is to set the variable at the top level with the runtime expression evaluation syntax, which sets the variable to an empty string if missing:

```yaml
# At the top:
variables:
  - name: MAYBE_SECRET_VAR
    value: $[ variables.MAYBE_SECRET_VAR ]

# In the step:
- bash: echo foo
  env:
    SECRET_VAR: $(MAYBE_SECRET_VAR)
```

While that *could've worked* it was ugly and messy, so I just opted to add yet another non-secret variable.

r? @alexcrichton
fixes #62811
2019-07-26 18:56:56 +02:00
Pietro Albini
b01b5b911f
ci: gate toolstate repo pushes on the TOOLSTATE_PUBLISH envvar
Unfortunately due to an Azure quirk the TOOLSTATE_REPO_ACCESS_TOKEN is
not suitable to gate whether to push new commits to the repo, as if it's
not defined on the Azure side it will actually be set to the literal
`$(TOOLSTATE_REPO_ACCESS_TOKEN)`, which screws everything up.

This instead adds another, non-secret environment variable to gate
publishing: TOOLSTATE_PUBLISH. As non-secret environment variables
behave correctly this fixes the issue.
2019-07-25 11:51:08 +02:00
Mazdak Farrokhzad
0340d72bf5
Rollup merge of #62906 - cuviper:debuginfo-level, r=Mark-Simulacrum
Require a value for configure --debuginfo-level

In `configure.py`, using the `o` function creates an enable/disable
boolean setting, and writes `true` or `false` in `config.toml`. However,
rustbuild is expecting to parse a `u32` debuginfo level. We can change
to the `v` function to have the options require a value.
2019-07-25 01:05:07 +02:00
Mazdak Farrokhzad
8d9000d38c
Rollup merge of #62784 - Disasm:riscv32i, r=estebank
Add riscv32i-unknown-none-elf target

This target is likely to be useful for constrained FPGA soft-cores, such as picorv32 and HeavyX.
2019-07-25 01:04:59 +02:00
Mateusz Mikuła
424220676e Re-enable assertions in PPC dist builder 2019-07-24 20:52:50 +02:00
Mark Mansi
11a3b742d8 add back check for update prs 2019-07-23 15:37:04 -05:00
Ralf Jung
82d18412d1 more comments 2019-07-23 15:36:51 -05:00
Ralf Jung
92d432a0c7 more callback docs 2019-07-23 15:36:51 -05:00
Ralf Jung
9c48ed4eab more comments for toolstate scripts 2019-07-23 15:36:51 -05:00
Josh Stone
1aeadcc0d5 Require a value for configure --debuginfo-level
In `configure.py`, using the `o` function creates an enable/disable
boolean setting, and writes `true` or `false` in `config.toml`. However,
rustbuild is expecting to parse a `u32` debuginfo level. We can change
to the `v` function to have the options require a value.
2019-07-23 12:04:31 -07:00
Pietro Albini
ace3684286
ci: pin awscli dependencies
docutils 0.15, a dependency of awscli, broke our CI since it's not
compatible with Python 2 due to a bug. This pins all the dependencies of
awscli with docutils 0.14, to make sure this kind of regressions doesn't
happen again.
2019-07-21 20:56:08 +02:00
Alex Crichton
9b4f6de7a4 azure: Prepare configuration for 4-core machines
This commit updates some of our assorted Azure/CI configuration to
prepare for some 4-core machines coming online. We're still in the
process of performance testing them to get final numbers, but some
changes are worth landing ahead of this. The updates here are:

* Use `C:/` instead of `D:/` for submodule checkout since it should have
  plenty of space and the 4-core machines won't have `D:/`

* Update `lzma-sys` to 0.1.14 which has support for VS2019, where 0.1.10
  doesn't.

* Update `src/ci/docker/run.sh` to work when it itself is running inside
  of a docker container (see the comment in the file for more info)

* Print step timings on the `try` branch in addition to the `auto`
  branch in. The logs there should be seen by similarly many humans (not
  many) and can be useful for performance analysis after a `try` build
  runs.

* Install the WIX and InnoSetup tools manually on Windows instead of
  relying on pre-installed copies on the VM. This gives us more control
  over what's being used on the Azure cloud right now (we control the
  version) and in the 4-core machines these won't be pre-installed. Note
  that on AppVeyor we actually already were installing InnoSetup, we
  just didn't carry that over on Azure!
2019-07-19 06:49:19 -07:00
Who? Me?!
1aa10797df
Update src/ci/docker/x86_64-gnu-tools/checkregression.py
Co-Authored-By: kennytm <kennytm@gmail.com>
2019-07-18 12:20:34 -05:00
Vadim Kaushan
bb9bf0ca9a
Add riscv32i-unknown-none-elf target 2019-07-18 18:37:23 +03:00
Mark Mansi
8940a27437 embedded-book failures don't block beta 2019-07-18 10:24:20 -05:00
Who? Me?!
17c4084eba
Update src/ci/docker/x86_64-gnu-tools/checkregression.py
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-07-18 10:02:59 -05:00
Who? Me?!
8b87162af2
Update src/ci/docker/x86_64-gnu-tools/checktools.sh
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-07-18 08:57:55 -05:00
Ralf Jung
b2d05dba41 add a few comments for the toolstate stuff 2019-07-18 08:47:25 -05:00
Who? Me?!
8070bb828c
Regressions ok for miri too
Co-Authored-By: kennytm <kennytm@gmail.com>
2019-07-18 08:42:39 -05:00
Mark Mansi
97b4156398 don't fail builds for rustc-guide 2019-07-17 11:44:33 -05:00
Mark Mansi
0fdf24bcf3 actually test rustc-guide with toolstate 2019-07-17 10:30:29 -05:00
bors
38798c6d68 Auto merge of #62592 - nikic:actually-update-llvm, r=alexcrichton
Update to LLVM 9 trunk

Following the preparatory changes in #62474, this updates the LLVM submodule to https://github.com/rust-lang/llvm-project/tree/rustc/9.0-2019-07-12 and:

 * Changes the LLVM Rust bindings to account for the new SubtargetSubTypeKV.
 * Adjusts a codegen test for the new form of the byval attribute that takes a type.
 * Makes a PGO codegen test more liberal with regard to order and linkage.
 * Builds InstrProfilingPlatformWindows.c as part of libprofiler_builtins.
 * Moves registration of additional passes (in particular sanitizers) to the end of the module pass manager.
 * Disables LLDB on builders.

r? @alexcrichton
2019-07-16 23:05:06 +00:00
Alex Crichton
3dd00bac7c ci: Remove Travis/AppVeyor configuration
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-15 09:18:32 -07:00
Nikita Popov
2c102cb4ab Disable building of LLDB 2019-07-15 09:45:14 +02:00
Mark Mansi
1de42ff95a cfg: linkcheck only on x86-64 linux 2019-07-06 11:05:22 -03:00