about summary refs log tree commit diff
path: root/src/ci/docker/host-x86_64/test-various
AgeCommit message (Collapse)AuthorLines
2025-09-05ci: update jobs to also run `tests/run-make-cargo`Jieyou Xu-4/+6
For the ones that explicitly picks which test suite to run.
2025-08-22Rollup merge of #137457 - JayAndJef:issue-132802-fix, r=KobzolJacob Pratt-3/+4
Fix host code appearing in Wasm binaries This is a direct fix for issue [132802](https://github.com/rust-lang/rust/issues/132802). Followed the outline as follows: > * give a hard error in bootstrap when using gcc to compile for wasm > * change our CI to use clang instead of gcc > * add a test that compiling a sample program for wasm32-unknown doesn't give any linker warnings The `test-various` ci job was also changed. try-job: test-various try-job: dist-various-1 try-job: dist-various-2 try-job: x86_64-msvc-1
2025-07-29Update wasi-sdk to 27.0 in CIAlex Crichton-2/+2
This updates the wasi-sdk used in CI to build release binaries and run CI with. No major motivation beyond keeping things up-to-date and following the development of wasi-sdk.
2025-07-26move uefi test to run-makeFolkert de Vries-214/+3
2025-07-22Rename `tests/codegen` into `tests/codegen-llvm`Guillaume Gomez-1/+1
2025-07-22Rename `tests/assembly` into `tests/assembly-llvm`Guillaume Gomez-2/+2
2025-06-30fix: wasm-bare targets compiling x86 builtinsJayden Qi-3/+4
Added sanity check to bootstrap to hard error on wasm builds without clang, and changed distribution image `dist-various-2` to use clang to build for official targets.
2025-04-27CI: docker: host-x86_64: test-various: uefi_qemu_test: Update r-efiAyush Singh-4/+4
- Update r-efi to 5.2.0 Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2024-12-12Update wasi-sdk used to build WASI targetsAlex Crichton-2/+2
Bump to the latest wasi-sdk-25 release which brings in various wasi-libc updates as well as LLVM 19 as the version used to compile wasi-libc.
2024-12-04Reformat Python code with `ruff`Jakub Beránek-73/+76
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-08-18Switch to using the v2 resolver in most workspacesTrevor Gross-1/+1
Pinning the resolver to v1 was done in 5abff3753a7c ("Explicit set workspace.resolver ...") in order to suppress warnings. Since there is no specific reason not to use the new resolver and since it fixes issues, change to `resolver = "2"` everywhere except library and submodules.
2024-07-29Reformat `use` declarations.Nicholas Nethercote-0/+1
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-19Update wasi-sdk in CI to latest releaseAlex Crichton-2/+2
This commit updates the `wasi-sdk` download used by the `wasm32-wasi*` targets. The motivation for this commit is generally just "keep things up to date" and is not intended to cause any issues or differences from before, just a routine update.
2024-06-09Update `r-efi`clubby789-2/+2
2024-04-18CI: add script for installing NodeJS and update it to v20Jakub Beránek-3/+3
2024-04-15Update how WASI toolchains are used in CI and bootstrapAlex Crichton-7/+4
This commit updates how the WASI targets are configured with their toolchain. Long ago a `config.toml` option of `wasi-root` was added to enable building with the WASI files produced by wasi-libc. Additionally for CI testing and release building the Rust toolchain has been using a hard-coded commit of wasi-libc which is bundled with the release of the `wasm32-wasip1` target, for example. Nowadays though the wasi-sdk project, the C/C++ toolchain for WASI, is the go-to solution for compiling/linking WASI code and contains the more-or-less official releases of wasi-libc. This commit migrates CI to using wasi-sdk releases and additionally updates `bootstrap` to recognize when this is configured. This means that with `$WASI_SDK_PATH` configured there's no further configuration necessary to get a working build. Notably this also works better for the new targets of WASI as well, such as `wasm32-wasip2` and `wasm32-wasip1-threads` where the wasi-sdk release now has libraries for all targets bundled within it.
2024-04-01Bump dependenciesclubby789-2/+2
2024-03-20Inherit `RUSTC_BOOTSTRAP` when testing wasmAlex Crichton-2/+2
This is implemented with the freshly-released Wasmtime 19 and should prevent beta breakage from wasm tests that was observed and fixed in #122640 again.
2024-03-11Update test-various docker image to test `wasm32-wasip1`Alex Crichton-3/+14
Drop testing of `wasm32-unknown-unknown` and instead only test a WASI target which enables more debugging utilities such as printing.
2024-02-13`cargo update`clubby789-2/+2
2024-02-13Set wasm32_unknown_unknown compiler in test-variousNikita Popov-0/+1
2023-10-10Add two lockfilesbjorn3-0/+16
2023-07-21ci: Update test-various to ubuntu:22.04Josh Stone-16/+6
2023-07-17Auto merge of #113714 - Kobzol:ci-cmake, r=nikicbors-0/+3
CI: build CMake 3.20 to support LLVM 17 LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder. r? `@nikic`
2023-07-16CI: build CMake 3.20 to support LLVM 17Jakub Beránek-0/+3
2023-07-02test-various: run codegen and assembly testsJan-Mirko Otter-0/+2
2023-07-01test-various: update nodejs to 18.12 (LTS)Jan-Mirko Otter-2/+2
2023-06-16Apply changes to fix python linting errorsTrevor Gross-0/+0
2023-05-31Explicit set `workspace.resolver = "1"`Weihang Lo-0/+1
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
2023-01-20Upgrade to musl 1.2.3Wesley Wiser-1/+0
2023-01-12Auto merge of #106711 - albertlarsan68:use-ci-llvm-when-lld, r=jyn514bors-4/+0
Use CI LLVM in `test-various` builder It was disabled because it needs `lld`, but since #104748 was merged it is no longer needed. This will speed this test, since it no longer needs to build LLVM.
2023-01-11Change `src/test` to `tests` in source files, fix tidy and testsAlbert Larsan-6/+6
2023-01-11Use CI LLVM in `test-various` builderAlbert Larsan-4/+0
It was disabled because it needs lld, but since 104748 was merged it is no longer needed.
2022-12-02reduce docker image sizes by cleaning cache/squashing stepsklensy-1/+2
2022-11-28test-various: Add tests for {i686,aarch64}-unknown-uefiNicholas Bishop-17/+74
This extends the existing test for x86_64-unknown-uefi to test the other two UEFI targets as well.
2022-11-20test-various: Use clang for the UEFI testNicholas Bishop-1/+4
This syncs it with how the UEFI targets are built in dist-various-2.
2022-09-20Add QEMU test for x86_64-unknown-uefiNicholas Bishop-2/+159
The UEFI targets don't have std support yet, so the normal tests don't work. However, we can compile a simple no-std program and run it under QEMU to at least check that the target compiles, links, and runs. Tested locally with: src/ci/docker/run.sh test-various
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-0/+4
See comment added for details on the test builder restriction. This is primarily intended for macOS CI, but is likely to be a slight win on other builders too.
2021-11-12Build musl dist artifacts with debuginfo enabledWesley Wiser-0/+1
Since our musl targets link to a version of musl we build and bundle with the targets, if users need to debug into musl or generate backtraces which contain parts of the musl library, they will be unable to do so unless we enable and ship the debug info. This patch changes our dist builds so they enabled debug info when building musl. This patch also includes a fix for CFI detection in musl's `configure` script which has been posted upstream[1]. The net effect of this is that we now ship debug info for musl in those targets. This adds ~90kb to those artifacts but running `strip` on binaries produced removes all of that. For a "hello world" Rust binary on x86_64, the numbers are: | | debug | release | release + strip | | - | - | - | - | | without musl debuginfo | 507kb | 495kb | 410kb | | with musl debuginfo | 595kb | 584kb | 410kb | Once stripped, the final binaries are the same size (down to the byte). [1]: https://www.openwall.com/lists/musl/2021/10/21/2
2021-10-21CI: Enable overflow checks for test (non-dist) buildsHans Kratz-0/+1
2021-04-08rustc: Add a new `wasm` ABIAlex Crichton-2/+2
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-01-29Update test-various to Ubuntu 20.04Nikita Popov-2/+2
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 becomes relevant only now though, as this was apparently the case since kernel 2.6.4.
2020-12-29Remove `compile-fail` test suiteVadim Petrochenkov-1/+0
2020-09-29Use --host='' instead of --host ''Tyler Mandry-3/+3
Trying to fix a problem in CI. Maybe some version of Docker is not passing '' args correctly?
2020-09-28Update CI scripts to accommodate --host changeTyler Mandry-3/+3
2020-08-26Install ninja on CI buildersJosh Triplett-0/+1
Windows CI builds already install ninja. Install it in all the Docker-based builds as well.
2020-07-27Use --stage 2 explicitly in CIJoshua Nelson-3/+3
- expand yaml anchors - don't use --stage 2 for dist; that's already the default
2020-07-27mv std libs to library/mark-1/+1
2020-07-03ci: move all x86_64 runners to the host-x86_64 directoryPietro Albini-0/+61
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.