Commit graph

1185 commits

Author SHA1 Message Date
Guillaume Gomez
13bdc5c2be Add check to ensure error code explanations are not removed anymore even if not emitted 2021-07-02 15:08:45 +02:00
Stefan Schindler
dbfbb76ba4 Update container browser-ui-test@0.4.1 2021-07-01 10:22:03 +02:00
Guillaume Gomez
af37ed738a Install tidy on x86_64-gnu-aux target to run html check 2021-06-28 18:05:34 +02:00
Guillaume Gomez
83a2bc31b9 Add new tool to check HTML:
* Make html-checker run by default on rust compiler docs as well
 * Ensure html-checker is run on CI
 * Lazify tidy binary presence check
2021-06-28 18:05:15 +02:00
bors
481971978f Auto merge of #86586 - Smittyvb:https-everywhere, r=petrochenkov
Use HTTPS links where possible

While looking at #86583, I wondered how many other (insecure) HTTP links were in `rustc`. This changes most other `http` links to `https`. While most of the links are in comments or documentation, there are a few other HTTP links that are used by CI that are changed to HTTPS.

Notes:
- I didn't change any to or in licences
- Some links don't support HTTPS :(
- Some `http` links were dead, in those cases I upgraded them to their new places (all of which used HTTPS)
2021-06-26 08:24:31 +00:00
Smitty
3da037f829 Download the GCC sources insecurely
This is needed as they are built on a long-outdated Debian version. :(
2021-06-25 17:15:36 -04:00
Stefan Schindler
10b83cd88a Fetch expat from github because the project switched 2021-06-25 10:34:29 +02:00
Stefan Schindler
fcf1848e36 Use https for sourceforge during CI 2021-06-25 10:34:29 +02:00
Smitty
bdfcb88e8b Use HTTPS links where possible 2021-06-23 16:26:46 -04:00
Mark Rousskov
9fc77e2dab Bump expat to 2.4.1 2021-06-23 10:38:18 -04:00
Guillaume Gomez
3af9c9157e Update browser-ui-test version 2021-06-22 11:11:45 +02:00
Guillaume Gomez
1e222ba58a Update browser-ui-test version 2021-06-19 14:19:39 +02:00
Guillaume Gomez
d87ec7ae19 Update browser-ui-test version 2021-06-13 21:49:30 +02:00
Pietro Albini
12d37e615f
add the x86_64-gnu-stable job to test with stable channel
During the 1.52 release process we had to deal with some commits that
passed the test suite on the nightly branch but failed on the beta or
stable branch. In that case it was due to some UI tests including the
channel name in the output, but other changes might also be dependent on
the channel.

This commit adds a new CI job that runs the Linux x86_64 test suite with
the stable branch, ensuring nightly changes also work as stable.
2021-06-07 18:55:43 +02:00
bors
7baa7afd0f Auto merge of #85395 - 12101111:build-crt, r=petrochenkov
Build crtbegin.o/crtend.o from source code

Build crtbengin.o/crtend.o from source code instead of copying from gcc.

The crtbegin and crtend implementation from llvm don't need `crtbeginS.o` for PIC. `crtbegin{,S,T}.o` is unified into one generic `crtbegin.o`. See the comments in https://reviews.llvm.org/D28791#1419436 and https://reviews.llvm.org/D28791#1420914

fix: https://github.com/rust-lang/rust/issues/85310 , fix: https://github.com/rust-lang/rust/issues/47551 , fix: https://github.com/rust-lang/rust/issues/84033
2021-05-31 07:32:50 +00:00
12101111
61c1155d17
Build crtbengin.o/crtend.o from source code 2021-05-31 11:11:38 +08:00
Guillaume Gomez
9c873c1240
Rollup merge of #85285 - GuillaumeGomez:eslint-check, r=jsha,Mark-Simulacrum
Add eslint checks to CI

It also allowed me to fix some potential issues that went unnoticed. Having this process automated will hopefully prevent us to add more errors. :)

cc `@Mark-Simulacrum` (for the add in the CI).
r? `@jsha`
2021-05-30 21:06:43 +02:00
Guillaume Gomez
b4148e926a Add eslint checks in CI 2021-05-30 20:19:59 +02:00
bors
2023cc3aa1 Auto merge of #84586 - GuillaumeGomez:enforce-rustdoc-gui-test-suite-run, r=Mark-Simulacrum
Enforce rustdoc-gui test-suite run

Part of https://github.com/rust-lang/rust/issues/84550
2021-05-30 12:32:41 +00:00
Guillaume Gomez
5358498b50 Update install of browser-ui-test package in CI 2021-05-26 10:38:08 +02:00
Guillaume Gomez
3994406eca Enforce rustdoc-gui test-suite run 2021-05-26 10:34:19 +02:00
bors
54bdfa1257 Auto merge of #85252 - kulikjak:fix-solaris-CI, r=Mark-Simulacrum
Bring back `x86_64-sun-solaris` target to rustup

Change #82216 removed now deprecated target `x86_64-sun-solaris` from CI, thus making it no longer possible to use `$ rustup target add x86_64-sun-solaris` to install given target (see #85098 for details). Since there should be a period of time between the deprecation and removal, this PR brings it back (while keeping the new one as well).

Please, correct me if I am wrong; my assumption that these Docker scripts are being used to build artifacts later used by `rustup` might be incorrect.

Closes #85098.
2021-05-26 04:27:23 +00:00
bors
50f2bf6a57 Auto merge of #85335 - GuillaumeGomez:rollup-0tvc14g, r=GuillaumeGomez
Rollup of 4 pull requests

Successful merges:

 - #84751 (str::is_char_boundary - slight optimization)
 - #85185 (Generate not more docs than necessary)
 - #85324 (Warn about unused `pub` fields in non-`pub` structs)
 - #85329 (fix version_str comment)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-05-15 17:37:18 +00:00
Guillaume Gomez
b9b67b7d5b Don't generate more docs than necessary 2021-05-15 17:21:12 +02:00
Joshua Nelson
956e0bae58 Update bootstrap for in-tree rustfmt
- Add rustfmt to `x.py check`
- Update Cargo.lock
- Remove rustfmt from the toolstate list
- Make rustfmt an in-tree tool
- Give an error on `x.py test rustfmt` if rustfmt fails to build or if tests fail
- Don't call `save_toolstate` when testing rustfmt
2021-05-14 21:53:54 -05:00
Jakub Kulik
b13185de8d Improve comment 2021-05-13 12:43:46 +02:00
Jakub Kulik
8789ab10f9 Update Docker to build the deprecated target alongside the new one 2021-05-13 12:40:06 +02:00
12101111
43309f936c
Build sanitizers for x86_64-unknown-linux-musl 2021-04-25 14:02:34 +08:00
Mara Bos
9ac18da17e Upgrade expat dependency in riscv64 to newer version.
The old version was renamed to
`expat-2.2.6-RENAMED-VULNERABLE-PLEASE-USE-2.3.0-INSTEAD`. :)
2021-04-21 15:54:57 +02:00
Alex Crichton
482a3d06c3 rustc: Add a new wasm ABI
This commit implements the idea of a new ABI for the WebAssembly target,
one called `"wasm"`. This ABI is entirely of my own invention
and has no current precedent, but I think that the addition of this ABI
might help solve a number of issues with the WebAssembly targets.

When `wasm32-unknown-unknown` was first added to Rust I naively
"implemented an abi" for the target. I then went to write `wasm-bindgen`
which accidentally relied on details of this ABI. Turns out the ABI
definition didn't match C, which is causing issues for C/Rust interop.
Currently the compiler has a "wasm32 bindgen compat" ABI which is the
original implementation I added, and it's purely there for, well,
`wasm-bindgen`.

Another issue with the WebAssembly target is that it's not clear to me
when and if the default C ABI will change to account for WebAssembly's
multi-value feature (a feature that allows functions to return multiple
values). Even if this does happen, though, it seems like the C ABI will
be guided based on the performance of WebAssembly code and will likely
not match even what the current wasm-bindgen-compat ABI is today. This
leaves a hole in Rust's expressivity in binding WebAssembly where given
a particular import type, Rust may not be able to import that signature
with an updated C ABI for multi-value.

To fix these issues I had the idea of a new ABI for WebAssembly, one
called `wasm`. The definition of this ABI is "what you write
maps straight to wasm". The goal here is that whatever you write down in
the parameter list or in the return values goes straight into the
function's signature in the WebAssembly file. This special ABI is for
intentionally matching the ABI of an imported function from the
environment or exporting a function with the right signature.

With the addition of a new ABI, this enables rustc to:

* Eventually remove the "wasm-bindgen compat hack". Once this
  ABI is stable wasm-bindgen can switch to using it everywhere.
  Afterwards the wasm32-unknown-unknown target can have its default ABI
  updated to match C.

* Expose the ability to precisely match an ABI signature for a
  WebAssembly function, regardless of what the C ABI that clang chooses
  turns out to be.

* Continue to evolve the definition of the default C ABI to match what
  clang does on all targets, since the purpose of that ABI will be
  explicitly matching C rather than generating particular function
  imports/exports.

Naturally this is implemented as an unstable feature initially, but it
would be nice for this to get stabilized (if it works) in the near-ish
future to remove the wasm32-unknown-unknown incompatibility with the C
ABI. Doing this, however, requires the feature to be on stable because
wasm-bindgen works with stable Rust.
2021-04-08 08:03:18 -07:00
Tom Eccles
980961e330 ci: docker: x86_64: specify host explicitly 2021-03-28 16:50:16 +01:00
Tom Eccles
8b40dd1f50 ci: docker: riscv64gc: specify host explicitly 2021-03-28 16:50:16 +01:00
Josh Stone
7d872f538e Update the minimum external LLVM to 10 2021-03-22 11:33:43 -07:00
Dylan DPC
201893f5ac
Rollup merge of #83204 - jethrogb:jb/sgx-c-build, r=joshtriplett,raoulstrackx
Simplify C compilation for Fortanix-SGX target

cc ``@raoulstrackx``
2021-03-18 00:28:12 +01:00
Jethro Beekman
5bd50ef9be Simplify C compilation for Fortanix-SGX target 2021-03-16 18:17:25 +01:00
Daniel Silverstone
bd2737fc96
ci/docker: Add SDK/NDK level 21 to android docker for 32bit platforms
Certain features of Linux (getauxval() and epoll_create1()) are only
available in android SDK/NDK levels 18 and 21 respectively.  The 32bit
platform is currently on level 14 for compatibility with Android 4.0.

This patch adds SDK/NDK level 21 to the docker for 32 bit platforms,
while leaving the default setup at level 14.

With this done, projects such as `rustup` which rely on these dockers
can build with modern ecosystem crates such as tokio 1.0, by using
the level 21 toolchain, but those which do not need to switch will
be unaffected, since the level 14 toolchain remains available.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2021-03-16 10:50:45 +00:00
bors
45b3c28518 Auto merge of #82747 - JohnTitor:pin-es-check-version, r=Mark-Simulacrum
Pin es-check version to prevent unrelated CI failures

es-check v5.2.1 causes a lot of unrelated CI failures on mingw-check, e.g. https://github.com/rust-lang/rust/pull/80723#issuecomment-790294196.
es-check v5.2.2 fixes it but let's pin its version to prevent further failures.
2021-03-04 19:24:21 +00:00
bors
409920873c Auto merge of #81451 - nikic:llvm-12, r=nagisa
Upgrade to LLVM 12

This implements the necessary adjustments to make rustc work with LLVM 12. I didn't encounter any major issues so far.

r? `@cuviper`
2021-03-04 15:16:44 +00:00
Yuki Okushi
ed473af951 Pin es-check version to prevent unrelated CI failures 2021-03-04 15:03:01 +09:00
Nikita Popov
ea0aa8def3 Build cmake earlier on dist-x86_64-musl
musl-toolchain.sh is called with REPLACE_CC=1, so it will replace
the host compiler and the subsequent cmake build will fail because
it cannot find the openssl headers.

Move the cmake build earlier, so it happens before the compiler
is replaced.
2021-03-01 23:35:35 +01:00
Nikita Popov
b763d9a40c Build both Python 2 and Python 3 on x86 dist builders
Python 2 is needed for Clang 10, Python 3 for LLVM 12.

The Python 2 dependency could be removed by upgrading to Clang 11,
but that causes linker errors of unclear origin.
2021-03-01 23:35:35 +01:00
Nikita Popov
1e21b2cba8 Build newer version of cmake in Docker images
LLVM requires CMake 3.13.4, which is only available as of Ubuntu 20.04.
On images using an older version, build it manually.
2021-03-01 23:35:35 +01:00
Jakub Kulik
47f291ec2d Update Docker to use the correct target 2021-03-01 15:06:32 +01:00
Simonas Kazlauskas
a757fae245 Remove the x86_64-rumprun-netbsd target
Closes #81514
2021-02-27 17:55:22 +02:00
bors
352238d152 Auto merge of #79979 - GuillaumeGomez:rustdoc-gui-tests, r=Mark-Simulacrum
Rustdoc gui tests

This is a reopening of #70533.

For this first version, there will be no screenshot comparison. Also, a big change compared to the previous version: the tests are now hosted in the rust repository directly. Since there is no image, it's pretty lightweight to say the least.

So now, only remains the nodejs script to run the tests and the tests themselves. Just one thing is missing: where should I put the documentation for these tests? I'm not sure where would be the best place for that. The doc will contain important information like the documentation of the framework used and how to install it (`npm install browser-ui-test`, but still needs to be put somewhere so no one is lost).

We'd also need to install the package when running the CI too. For now, it runs as long as we have nodejs installed, but I think we don't it to run in all nodejs targets?

cc `@jyn514`

r? `@Mark-Simulacrum`
2021-02-22 06:47:59 +00:00
Guillaume Gomez
20f2497efd Update CI scripts 2021-02-21 14:27:22 +01:00
Guillaume Gomez
fcf6e6e80d Add check for ES5 in CI 2021-02-17 09:53:33 +01:00
Nikita Popov
55e237284f Upgrade wasm32 image to Ubuntu 20.04
This switches the wasm32 image, which is used to test
wasm32-unknown-emscripten to Ubuntu 20.04. While at it, enable
most of the excluded tests, as they seem to work fine with some
minor fixes.
2021-02-06 13:05:56 +01:00
bors
e6a0f3cdf3 Auto merge of #81535 - nikic:update-test-various, r=sanxiyn
Update test-various to Ubuntu 20.04

The test command-setgroups.rs is adjusted to skip on musl, where `sysconf(_SC_NGROUPS_MAX)` always returns a dummy value of 32, even though the actual value is 65536. I'm not sure why this only became a problem now, as the information I found indicates that this value changed in kernel version 2.6.4, which is ages ago.

I'm a bit unsure whether this one will go through, because I locally also saw a failure in std-backtrace.rs which went away on subsequent runs, and also had port assignment failures, but I think those might be on my side. I'm kind of curious how the code in b122908617/library/std/src/net/test.rs (L43-L56) is supposed to work, as the directory names it checks don't seem to appear anywhere else.

r? `@Mark-Simulacrum`
2021-02-03 03:03:08 +00:00
bors
d60b29d1ae Auto merge of #81539 - nikic:update-armhf-gnu, r=sanxiyn
Update armhf-gnu to Ubuntu 20.04

This requires updating the used Linux kernel to avoid an assembler
error, the used busybox version to avoid a linker error, the used
rootfs to match the host version and the qemu flags to work with
the newer version.

r? `@Mark-Simulacrum`
2021-02-02 06:23:10 +00:00