about summary refs log tree commit diff
path: root/src/ci/docker/dist-various-2
AgeCommit message (Collapse)AuthorLines
2020-07-03ci: move all x86_64 runners to the host-x86_64 directoryPietro Albini-407/+0
We need to add runners designed for an aarch64 host system, and it'd be nice to return an error message if someone tries to run an image designed for an host architecture in another one. To start the work on this, this commit moves all the existing builders in the host-x86_64 directory, and changes the run.sh script to look up the image in the correct directory based on the host architecture.
2020-06-25Remove deprecated commentsAdrian Cruceru-2/+0
2020-06-25Fix commentsAdrian Cruceru-8/+1
2020-06-24Update libunwind build process for x86_64-fortanix-unknown-sgx targetAdrian Cruceru-37/+0
2020-06-07Enable LVI hardening for x86_64-fortanix-unknown-sgxJethro Beekman-20/+51
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-2/+2
2020-03-19Update the bundled wasi-libc with libstdAlex Crichton-1/+1
Brings in WebAssembly/wasi-libc#184 which can help standalone programs with environment variables!
2020-02-10Fix SGX RWLock representation for UnsafeCell niche fixJethro Beekman-1/+1
2020-01-14Update the wasi-libc bundled with libstdAlex Crichton-1/+1
2019-12-05Update the revision of wasi-libc used in wasm32-wasiAlex Crichton-1/+1
This commit updates the `wasi-libc` repository used to build the wasm32-wasi target's libstd to ensure that both libstd and libc are using the same wasi snapshot version.
2019-11-12ci: move mirrors to https://ci-mirrors.rust-lang.orgPietro Albini-1/+1
2019-11-05Update the bundled `wasi-libc` repositoryAlex Crichton-7/+7
This updates the libc that the `wasm32-wasi` target links against to the latest revision, mostly just bringing in minor bug fixes and minor wasm size improvements.
2019-08-12ci: move mirrors to their standalone bucketPietro Albini-1/+1
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-02Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.Adrian Budau-4/+28
Support for the targets in the compiler and std build in the CI.
2019-05-30Rollup merge of #61284 - alexcrichton:less-s3, r=pietroalbiniMazdak Farrokhzad-1/+1
Update all s3 URLs used on CI with subdomains 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-29Update all s3 URLs used on CI with subdomainsAlex Crichton-1/+1
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-28Revert "Disable solaris target since toolchain no longer builds"Bastian Germann-7/+5
This reverts commit e764f475ca7fffd6167ea991afc7d1b2b3f642dc. Fixes #61174.
2019-05-24Auto merge of #60777 - pietroalbini:azure-pipelines, r=alexcrichtonbors-5/+7
Add Azure Pipelines configuration Huge thanks to @johnterickson and @willsmythe for writing the initial config! :heart: I applied some changes to the initial config and disabled most of the builders since we're not going to run all of them during the initial step for the evaluation. [More details about our plans for the Azure Pipelines evaluation.](https://internals.rust-lang.org/t/update-on-the-ci-investigation/10056) r? @alexcrichton @kennytm cc @rust-lang/infra @ethomson @rylev
2019-05-22Solaris CI: Build with dilos2 stablebgermann-1/+1
dilos2-testing has problems since the last repository update, so get the packages from dilos2 stable. Fixes #61022.
2019-05-21Merge remote-tracking branch 'origin/master' into azure-pipelinesAlex Crichton-3/+3
2019-05-21Disable solaris target since toolchain no longer buildsAlex Crichton-5/+7
2019-05-10Auto merge of #60585 - sunfishcode:wasm32-wasi, r=alexcrichtonbors-3/+3
Omit the vendor component in the WASI triple This renames wasm32-unknown-wasi to wasm32-wasi, omitting the vendor component. This follows aarch64-linux-android, x86_64-fuchsia, and others in omitting the vendor field, which has the advantage of aligning with the [multiarch tuple](https://wiki.debian.org/Multiarch/Tuples), and of being less noisy. r? @alexcrichton
2019-05-09Omit the vendor component in the WASI tripleDan Gohman-3/+3
This renames wasm32-unknown-wasi to wasm32-wasi, omitting the vendor component. This follows aarch64-linux-android, x86_64-fuchsia, and others in omitting the vendor field, which has the advantage of aligning with the [multiarch tuple](https://wiki.debian.org/Multiarch/Tuples), and of being less noisy.
2019-05-09ci: use our own mirror for fuchsia's zircon repositoryPietro Albini-1/+1
The canonical repository on fuchsia.googlesource.com is not accessible anymore, neither for anonymous access nor logged in access. This commit switches our CI to fetch the repository from our own mirror.
2019-05-09ci: update dist-various-2 to ubuntu 18.04Pietro Albini-3/+9
2019-04-23Remove unnecessary ignore-tidy-linelengthvarkor-2/+0
2019-04-05wasi: Use shared API for preopened fdsAlex Crichton-1/+1
This commit updates the wasi target with supported added in CraneStation/wasi-sysroot#10. That function allows both C and Rust to cooperate in how preopened files are managed, enabling us to learn about propened files through the same interface. The `open_parent` function in the wasi `fs` module was updated to avoid its own initialization of a global preopened map and instead delegate to libc to perform this functionality. This should both be more robust into the future in terms of handling path logic as well as ensuring the propened map is correctly set up at process boot time. This does currently require some unfortunate allocations on our side, but if that becomes an issue we can always paper over those in time!
2019-03-29Add a new wasm32-unknown-wasi targetAlex Crichton-1/+26
This commit adds a new wasm32-based target distributed through rustup, supported in the standard library, and implemented in the compiler. The `wasm32-unknown-wasi` target is intended to be a WebAssembly target which matches the [WASI proposal recently announced.][LINK]. In summary the WASI target is an effort to define a standard set of syscalls for WebAssembly modules, allowing WebAssembly modules to not only be portable across architectures but also be portable across environments implementing this standard set of system calls. The wasi target in libstd is still somewhat bare bones. This PR does not fill out the filesystem, networking, threads, etc. Instead it only provides the most basic of integration with the wasi syscalls, enabling features like: * `Instant::now` and `SystemTime::now` work * `env::args` is hooked up * `env::vars` will look up environment variables * `println!` will print to standard out * `process::{exit, abort}` should be hooked up appropriately None of these APIs can work natively on the `wasm32-unknown-unknown` target, but with the assumption of the WASI set of syscalls we're able to provide implementations of these syscalls that engines can implement. Currently the primary engine implementing wasi is [wasmtime], but more will surely emerge! In terms of future development of libstd, I think this is something we'll probably want to discuss. The purpose of the WASI target is to provide a standardized set of syscalls, but it's *also* to provide a standard C sysroot for compiling C/C++ programs. This means it's intended that functions like `read` and `write` are implemented for this target with a relatively standard definition and implementation. It's unclear, therefore, how we want to expose file descriptors and how we'll want to implement system primitives. For example should `std::fs::File` have a libc-based file descriptor underneath it? The raw wasi file descriptor? We'll see! Currently these details are all intentionally hidden and things we can change over time. A `WasiFd` sample struct was added to the standard library as part of this commit, but it's not currently used. It shows how all the wasi syscalls could be ergonomically bound in Rust, and they offer a possible implementation of primitives like `std::fs::File` if we bind wasi file descriptors exactly. Apart from the standard library, there's also the matter of how this target is integrated with respect to its C standard library. The reference sysroot, for example, provides managment of standard unix file descriptors and also standard APIs like `open` (as opposed to the relative `openat` inspiration for the wasi ssycalls). Currently the standard library relies on the C sysroot symbols for operations such as environment management, process exit, and `read`/`write` of stdio fds. We want these operations in Rust to be interoperable with C if they're used in the same process. Put another way, if Rust and C are linked into the same WebAssembly binary they should work together, but that requires that the same C standard library is used. We also, however, want the `wasm32-unknown-wasi` target to be usable-by-default with the Rust compiler without requiring a separate toolchain to get downloaded and configured. With that in mind, there's two modes of operation for the `wasm32-unknown-wasi` target: 1. By default the C standard library is statically provided inside of `liblibc.rlib` distributed as part of the sysroot. This means that you can `rustc foo.wasm --target wasm32-unknown-unknown` and you're good to go, a fully workable wasi binary pops out. This is incompatible with linking in C code, however, which may be compiled against a different sysroot than the Rust code was previously compiled against. In this mode the default of `rust-lld` is used to link binaries. 2. For linking with C code, the `-C target-feature=-crt-static` flag needs to be passed. This takes inspiration from the musl target for this flag, but the idea is that you're no longer using the provided static C runtime, but rather one will be provided externally. This flag is intended to also get coupled with an external `clang` compiler configured with its own sysroot. Therefore you'll typically use this flag with `-C linker=/path/to/clang-script-wrapper`. Using this mode the Rust code will continue to reference standard C symbols, but the definition will be pulled in by the linker configured. Alright so that's all the current state of this PR. I suspect we'll definitely want to discuss this before landing of course! This PR is coupled with libc changes as well which I'll be posting shortly. [LINK]: [wasmtime]:
2019-02-12use Ubuntu keyserver for CloudABI portsAndy Russell-5/+4
The Ubuntu keyserver is more reliable than the MIT PGP server, which is prone to going down. This commit also explicitly uses port 80 on the keyserver for reasons outlined in #57844.
2019-02-01Auto merge of #57937 - denzp:nvptx, r=nagisabors-0/+1
NVPTX target specification This change adds a built-in `nvptx64-nvidia-cuda` GPGPU no-std target specification and a basic PTX assembly smoke tests. The approach is taken here and the target spec is based on `ptx-linker`, a project started about 1.5 years ago. Key feature: bitcode object files being linked with LTO into the final module on the linker's side. Prior to this change, the linker used a `ld` linker-flavor, but I think, having the special CLI convention is a more reliable way. Questions about further progress on reliable CUDA workflow with Rust: 1. Is it possible to create a test suite `codegen-asm` to verify end-to-end integration with LLVM backend? 1. How would it be better to organise no-std `compile-fail` tests: add `#![no_std]` where possible and mark others as `ignore-nvptx` directive, or alternatively, introduce `compile-fail-no-std` test suite? 1. Can we have the `ptx-linker` eventually be integrated as `rls` or `clippy`? Hopefully, this should allow to statically link against LLVM used in Rust and get rid of the [current hacky solution](https://github.com/denzp/rustc-llvm-proxy). 1. Am I missing some methods from `rustc_codegen_ssa::back::linker::Linker` that can be useful for bitcode-only linking? Currently, there are no major public CUDA projects written in Rust I'm aware of, but I'm expecting to have a built-in target will create a solid foundation for further experiments and awesome crates. Related to #38789 Fixes #38787 Fixes #38786
2019-01-31Updated commit id for building libunwind.Vardhan Thigle-2/+2
2019-01-27Enable CI for `nvptx64-nvidia-cuda`Denys Zariaiev-0/+1
2019-01-26Update SGX libunwindJethro Beekman-1/+1
2019-01-26Clean up build-x86_64-fortanix-unknown-sgx-toolchain.shJethro Beekman-20/+28
2019-01-21Update libunwind for SGX targetJethro Beekman-1/+1
2019-01-13Adding Build automation for x86_64-fortanix-unknown-sgxVardhan Thigle-0/+82
2018-12-25Remove licensesMark Rousskov-37/+0
2018-11-05Use lld directly for Fuchsia targetPetr Hosek-1/+12
Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.
2018-07-26Omit the vendor component in Fuchsia triplePetr Hosek-13/+13
Previously, using unknown as the vendor value would lead to the same result, but with the multiarch runtimes support in Clang, the target is now used to locate the runtime libraries and so the format is important. The denormalized format with omitted vendor component is the format we use with Clang and should be using for Rust as well.
2018-03-25rustbuild: Disable docs on cross-compiled buildsAlex Crichton-1/+1
This commit disables building documentation on cross-compiled compilers, for example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out of these documentation artifacts and they often take 10-15 minutes total to build as it requires building rustdoc/rustbook and then also generating all the documentation, especially for the reference and the book itself. In an effort to cut down on the amount of work that we're doing on dist CI builders in light of recent timeouts this was some relatively low hanging fruit to cut which in theory won't have much impact on the ecosystem in the hopes that the documentation isn't used too heavily anyway. While initial analysis in #48827 showed only shaving 5 minutes off local builds the same 5 minute conclusion was drawn from #48826 which ended up having nearly a half-hour impact on the bots. In that sense I'm hoping that we can land this and test out what happens on CI to see how it affects timing. Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to generate documentation.
2018-03-02Remove --host and --target arguments to configureMark Simulacrum-1/+1
These arguments are passed to the relevant x.py invocation in all cases anyway. As such, there is no need to separately configure them. x.py will ignore the configuration when they are passed on the command line anyway.
2018-01-24Remove workarounds for cc 1.0.3.Ed Schouten-13/+0
Now that the Rust codebase depends on cc 1.0.4, there is no longer any need to specify a compiler for CloudABI manually. Cargo will automatically call into the right compiler executable.
2018-01-16Only enable CloudABI builds for x86-64 for now.Ed Schouten-12/+0
We'll turn on other architectures if it turns out we have enough capacity.
2018-01-16Integrate dist-cloudabi into dist-various-2.Ed Schouten-3/+81
As discussed in #47427, let's not have a separate container for doing CloudABI builds. It's a lot faster if we integrate it into an existing container, so there's less duplication of what's being built. Upgrade the existing container to Ubuntu 17.10, which is required for CloudABI builds. The version of Clang shipped with 16.04 is not recent enough to support CloudABI properly.
2017-12-04Rename cross(2) builder to dist-various-{1,2}Marco A L Barbosa-0/+252
Follows the convention of the other builders.