about summary refs log tree commit diff
path: root/library/compiler-builtins/ci/run-docker.sh
AgeCommit message (Collapse)AuthorLines
2025-07-24ci: Update to the latest ubuntu:25.04 Docker imagesTrevor Gross-1/+1
This includes a qemu update from 8.2.2 to 9.2.1 which should hopefully fix some bugs we have encountered. PowerPC64LE is skipped for now because the new version seems to cause a number of new SIGILLs.
2025-04-20ci: Clean up workflow file and docker scriptTrevor Gross-6/+7
2025-04-20ci: Skip testing libm in PRs if it did not changeTrevor Gross-0/+1
Many contributions to compiler-builtins don't have any need to touch libm, and could get by with the few minutes of CI for compiler-builtins rather than the ~30 minutes for libm. We already have some scripts that handle changed file detection, so expand its use to skip libm CI if it doesn't need to run.
2025-04-20ci: Add `/cargo/bin` to the path in DockerTrevor Gross-1/+1
This makes it possible to use nextest within the container.
2025-04-19Move builtins-test-intrinsics out of the workspaceTrevor Gross-3/+6
This crate doesn't need to be a default member since it requires the opposite settings from everything else. Exclude it from the workspace and run it only when explicitly requested. This also makes `cargo t --no-default-features` work without additional qualifiers. `--no-default-features` still needs to be passed to ensure `#![compiler_builtins]` does not get set. compiler-builtins needs doctests disabled in order for everything to work correctly, since this causes an error running rustdoc that is unrelated to features (our `compiler_builtins` is getting into the crate graph before that from the sysroot, but `#![compiler_builtins]` is not set). We can also remove `test = false` and `doctest = false` in `builtins-test` since these no longer cause issues. This is unlikely to be used but it is better to not quietly skip if anything ever gets added by accident.
2025-04-19ci: Update `ci/run-docker.sh` to match libmTrevor Gross-55/+69
Prepare for having the repositories combined by ensuring EMULATED, RUST_BACKTRACE, and CI are set or forwarded as applicable. Also re-indent the file to four spaces and do some reorganization.
2025-03-19Switch repository layout to use a virtual manifestTrevor Gross-1/+1
The current setup has the `Cargo.toml` for `compiler-builtins` at the repository root, which means all support crates and other files are located within the package root. This works for now but is not the cleanest setup since files that should or shouldn't be included in the package need to be configured in `Cargo.toml`. If we eventually merge `libm` development into this repository, it would be nice to make this separation more straightforward. Begin cleaning things up by moving the crate source to a new `compiler-builtins` directory and adding a virtual manifest. For now the `libm` submodule is also moved, but in the future it can likely move back to the top level (ideally `compiler-builtins/src` would contain a symlink to `libm/src/math`, but unfortunately it seems like Cargo does not like something about the submodule + symlink combination).
2024-09-28Fix some warnings from shellcheckTrevor Gross-6/+8
2024-06-22Fix unset variables in the build scriptTrevor Gross-3/+3
These were preventing building via Docker locally.
2024-06-22Update the Ubuntu docker image to the latest versionTrevor Gross-1/+1
2024-05-24Enable cache for Docker imagesTrevor Gross-1/+13
2024-05-11Deny warnings in CITrevor Gross-0/+1
There are currently a lot of warnings printed in CI, mostly dead code. Update CI to deny warnings.
2024-04-19Apply some more fixes suggested by ShellcheckTrevor Gross-1/+1
2024-04-19Add a way to run tests on non-linux machinesTrevor Gross-17/+56
Allow using the `rust-lang/rust:nightly` docker image to run tests in cases where the host rust and cargo cannot be used, such as non-linux hosts.
2022-02-06Fix run-docker.sh so it can be run locallyAmanieu d'Antras-1/+1
2019-06-05More fixes for CIAlex Crichton-1/+1
2019-05-16Remove `compiler-rt` submodule from this repositoryAlex Crichton-0/+1
This commit removes the `compiler-rt` submodule from this repository. The goal here is to align the `compiler-rt` used for compiling C intrinsics with the upstream rust-lang/rust's usage of `llvm-project`. Currently we have both an `llvm-project` repository as well as `compiler-rt`, but they can naturally get out of sync and it's just one more submodule to manage. The thinking here is that the feature `c` for this crate, when activated, will require the user to configure where the source code for `compiler-rt` is present. This places the onus on the builder of `compiler-builtins` to check-out and arrange for the appropriate `compiler-rt` source code to be placed somewhere. For rust-lang/rust this is already done with the `llvm-project` submodule, and we can arrange for it to happen on this crate's CI anyway. For users of this crate this is a bit of a bummer, but `c` is disabled by default anyway and it seems unlikely that `c` is explicitly opted in to all that much. (given the purpose of this crate) This should allow us to archive the `compiler-rt` repository and simply use `llvm-project` in the rust-lang/rust repository.
2019-05-14Fix __divsi3 and __udivsi3 on thumbv6m targetsAlex Crichton-1/+0
This commit fixes a bug accidentally introduced in #285 where some lingering references remained to `#[cfg(thumbv6m)]` but this, since the historical revert, was renamed to `#[cfg(thumb_1)]`. This caused on the thumbv6m platform for the intrinsics to be accidentally omitted because the build script didn't actually compile them but the Rust code thought the C code was in use. After correcting the `#[cfg]` statements the CI configuration for the `thumb*` family of targets was all updated. The support for xargo testing was removed from `run.sh` since it had long since bitrotted, and the script was updated to simply build the intrinsics example to attempt to link for each of these targets. This in turn exposed the bug locally and allowed to confirm a fix once the `#[cfg]` statements were corrected. cc rust-lang/rust#60782
2019-05-02Revert "Use the Rust implementation of udivsi3 on ARM"Alex Crichton-0/+1
This reverts commit 681aaa914dea7cae8252c33023604ce6c91808bd.
2019-04-02Try to handle thumb targets and xargoAlex Crichton-0/+1
2019-04-02Don't pass `-it` to dockerAlex Crichton-1/+1
2019-04-02Expand Azure Pipelines configurationAlex Crichton-0/+0
2016-09-30give Xargo a $HOMEJorge Aparicio-1/+1
2016-09-30use `docker run --user` instead of manually creating a userJorge Aparicio-11/+8
2016-09-30cache Cargo artifactsJorge Aparicio-9/+23
notable changes in the docker-based testing infrastructure - the docker containers can now modify $CARGO_HOME, to re-use the outer Cargo registry, and the target directory to re-use build artifacts. - the docker containers are removed when their execution finishes because it's no longer necessary to re-start them to inspect them because all the interesting output is in the outer target directory
2016-09-29adapt to new testing infrastructureJorge Aparicio-7/+3
2016-09-28Expand and refactor teting infrastructureAlex Crichton-0/+29
This commit moves over most of the testing infrastructure to in-tree docker images that are all dispatched to from Travis (no other test configuration). This allows versioning modifications to the test infrastructure as well as the code itself. Additionally separate docker images allows for easy modification of one without worrying about tampering of others as well as easy addition of new targets by simply adding a new `Dockerfile`. Additionally this commit bundles the master version of the `compiler-rt` source repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt library itself is compiled as a `cdylib` which is then dynamically located at runtime and we look for symbols in. There's a few hoops here, but they currently get the job done. All tests now execute against both gcc_s and compiler-rt, and this testing strategy is now all hidden behind a macro as well (refactoring all existing tests along the way).