104 Commits

Author SHA1 Message Date
Brian Smith
ad1204ec11 CI: Update comment about not running aarch64-apple-ios tests. 2023-12-01 19:17:31 -08:00
Brian Smith
b2cb243a7c CI: Run tests on aarch64-apple-darwin in GitHub Actions. 2023-12-01 19:17:31 -08:00
Brian Smith
0227a0614c CI: Use macOS 13 in GitHub Actions. 2023-12-01 19:17:31 -08:00
Brian Smith
e530025acd CI: Use briansmith/actions-cache@v3. 2023-11-30 15:43:06 -08:00
Brian Smith
83979189b3 CI: Use briansmith/actions-checkout@v4.
briansmith/actions-checkout was updated from actions/checkout.
2023-11-30 15:21:38 -08:00
Brian Smith
6bd1a210e3 CI: Use rustup directly to install toolchains. 2023-11-30 14:39:25 -08:00
Brian Smith
b349cecd06 CI: Avoid actions-rs/toolchain when we only need to use stable Rust.
GitHub Actions runners already have rustup with the stable toolchain
installed, apparently. actions-rs is going away and we don't want to
keep maintaining a fork with an unsupported upstream, so start the
process of dropping it.
2023-11-30 13:07:34 -08:00
Brian Smith
8348897d92 CI: Add wasm32-wasi to CI. 2023-10-14 16:50:18 -07:00
Brian Smith
0f8386dce2 CI: Don't test benchmarks in test and test-features jobs.
Benchmarks require Rust 1.65 or later currently due to benchmark-only
dependencies.

Also, benchmarks add a lot of downloading/build time because they have
many more dependencies. So, skipping them in these jobs makes them
faster.
2023-10-14 11:54:52 -07:00
Brian Smith
06e5d3b9e1 CI: Run tests for armv7-unknown-linux-musleabihf. 2023-10-13 17:56:01 -07:00
Brian Smith
99ab6db360 Add arm-unknown-linux-gnueabi testing to CI.
Replace arm-unknown-linux-gnueabihf in `test` since we already have
another gnueabihf target.
2023-10-13 17:45:30 -07:00
Brian Smith
8f042cef71 CI: Improve feature testing.
`dev_urandom_fallback` presently does nothing, so don't bother adding
it as a matrix dimension.

Because `dev_urandom_fallback` does nothing,
`--no-default-features --features=alloc` is effectively the same as the
default feature set, so don't add it as a matrix dimension.

`--all-features` is no longer appropriate after the ARM hardware feature
disabling features were added, so replace it with what we really want,
`--features=std,slow_tests`.

In the coverage section, `--features=alloc,dev_urandom_fallback,std` is
the same as `--features=std` since `alloc and `urandom_fallback` are
default features.
2023-10-08 17:54:54 -07:00
Brian Smith
fa5d6bd6ac Move benchmarks to a new ring-bench crate.
Move the Criterion.rs dependency out of *ring* into a new `ring-benches`
crate. This speeds up many build scenerios by eliminating a bunch of
dependencies from *ring*'s dependency tree for `cargo test`.
2023-10-06 21:54:05 -07:00
Brian Smith
789ba2093b CI: Use fail-fast: false for coverage jobs.
Frequently lately one coverage job has been failing per job. Instead of
re-running the whole matrix again, make it so we just need to run the
(usually) one job that failed.
2023-10-06 10:31:10 -07:00
Brian Smith
6a6f1fa0b1 CI: Remove s390x and powerpc64le from test matrix.
They are still in `coverage`.
2023-10-05 22:28:47 -07:00
Brian Smith
c8e4b23af8 Don't hard-code use of static CRT in GitHub Actions AArch64 Windows build. 2023-10-03 09:13:53 -07:00
Brian Smith
49b47eabfa Use Visual Studio 2022 in GitHub Actions for AArch64 Windows. 2023-10-03 09:13:53 -07:00
Brian Smith
52582adbce CI: Remove PowerPC and s390x jobs from test-features. Add PowerPC to test.
Add the powerpc-unknown-linux-gnu target to `test`. Remove PowerPC and
s390x targets from `test-features` because they slow down CI too much.
2023-10-02 14:15:12 -07:00
Brian Smith
3878b1b28a CI: Temporarily move powerpc-unknown-linux-gnu from coverage to test-features. 2023-10-01 18:25:37 -07:00
Brian Smith
acc256193e CI: Document critical aspects of each target in coverage. 2023-10-01 18:25:37 -07:00
Brian Smith
6e82dd3c75 Add powerpc-unknown-linux-gnu support. 2023-10-01 18:25:37 -07:00
Ulrich Weigand
baa823bb4d Basic support for s390x target 2023-10-01 14:33:16 -07:00
Brian Smith
901441fd59 MSRV 1.61.0: Use cfg!(target_feature) for static AARCH64 feature detection. 2023-09-30 17:41:26 -07:00
Eric Richter
3161c01ec5 CI: add powerpc64le-unknown-linux-gnu as a target
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Brian Smith
4b87b67335 CI: Reduce size of test-features matrix to speed up CI. 2023-09-30 15:47:16 -07:00
Brian Smith
4e54361385 CI: Add riscv64gc-unknown-linux-gnu to the coverage target. 2023-09-30 11:46:06 -07:00
leso-kn
036b80aa97 CI: Enable riscv64 build
Co-authored-by: light4 <root@i01.io>
Signed-off-by: leso-kn <info@lesosoftware.com>
2023-09-30 11:46:06 -07:00
Brian Smith
bb50d70299 Don't run test jobs on Beta or Nightly channels.
These are duplicated by `coverage` (temporarily) and the `features` tests.
Do this to reduce the latency between submitting a PR and it passing CI.
Right now we have so many jobs with the huge matrix and CI takes too long.
2023-09-30 11:42:55 -07:00
Brian Smith
f8ea7829bd CI: Use 1.60.0 as MSRV for "features" test jobs too. 2023-09-04 08:55:58 -07:00
Brian Smith
6b6ae19faa CI: (Temporarily?) remove mipsel-unknown-linux-gnu from build matrix.
The CI jobs for this target are failing with this error:
```
error: component 'rust-std' for target 'mipsel-unknown-linux-gnu' is
unavailable for download for channel 'nightly'
```

Remove the target while we investigate.
2023-09-03 16:43:32 -07:00
Brian Smith
5d8bdb6ca6 CI: Increase MSRV to 1.60. 2023-09-03 16:03:25 -07:00
Brian Smith
ca173d06fa CI: Upgrade to cargo-audit 0.17.4. 2023-02-15 10:32:49 -08:00
Brian Smith
54520a3652 Adjust MIPSEL CI build system changes.
Take MIPSEL out of the GitHub Actions configuration because it fails to
link, and because it makes the build matrix too large.
2022-11-11 16:57:21 -08:00
Linus Unnebäck
ce24e188e0 Add mipsel to Github Actions CI setup 2022-11-11 15:10:16 -08:00
Brian Smith
b97db43338 CI: Fix doctest testing.
A recent change in the toolchain, possible cc-rs, caused the build to break since
we were running `cargo` two different ways with different environment variables.
2022-10-31 11:25:48 -07:00
Brian Smith
6906cc1981 CI: Use Ubuntu 20.04 in GitHub Actions.
"The Ubuntu 18.04 Actions runner image is being deprecated and will be
removed by 12/1/22" according to the GitHub Changelog blog.

Temporarily disable wasm32 tests using Firefox until the Ubuntu 22.04
runners are set up correctly.
2022-10-26 21:15:47 -07:00
Brian Smith
00fc3f35f3 CI: Use macOS 12 and remove now-unneeded Xcode hacks.
`macos-latest` switched from macos-11 to macos-12 which broke CI. Use a
specific version to prevent this from happening.
2022-10-25 15:50:16 -07:00
Brian Smith
9b00fff0ce Bump MSRV to 1.57 as os_str_bytes (used by criterion.rs 0.4.0) requires it.
Commit 7386436fb78cdc18b9e5016676a1db8653c06df1 upgraded criterion.rs to
0.4.0 but didn't bump the MSRV. Do that bump.
2022-10-20 12:53:47 -07:00
Brian Smith
bd5f1c4105 Use llvm-nm for checking symbol prefixes for targets for which we use clang. 2022-10-19 23:49:17 -07:00
Brian Smith
ea4ac0bee8 Use Codecov action V3. 2022-10-19 23:49:17 -07:00
Brian Smith
6204702d0d Raise MSRV to 1.56.1.
once_cell, at least, requires 1.56 for Edition 2021.
2022-10-19 23:49:17 -07:00
Brian Smith
8820c150ea Use LLVM 14 in CI/CD for coverage. 2022-02-20 17:51:04 -08:00
Brian Smith
8d78cb2c01 wasm32: Add a wasm32_unknown_unknown_js feature to control use of web APIs.
Planning ahead for when WASI is to be supported, require the user to opt into
using web APIs for thw wasm32-unknown-unknown target with a new feature, since
wasm32-unknown-unknown could be used for either web or non-web environments.

Don't bother updating the tests to use this new flag, since the tests aren't
part of the "public API" of *ring*. When we add support for other WebAssembly
environments (e.g. WASI) we'll update the tests then.
2021-10-06 15:53:02 -07:00
Brian Smith
d97ae1fd08 wasm32: Make wasm32_c the default and only mode; remove the "wasm32_c" feature.
Always require a C compilare for wasm32, instead of trying to provide a subset
of the functionality.
2021-10-06 15:53:02 -07:00
Brian Smith
245a76a7b3 CI: Add various feature combinations to the test matrix. 2021-10-06 08:44:03 -07:00
Brian Smith
6510527bff signature: Fix doc test when --feature=std is used. 2021-10-04 15:05:58 -07:00
Brian Smith
3b8ae3ab12 CI: Stop excluding Rust 1.47.0 builds since they are never attempted.
This logic is a holdover from when Rust 1.47.0 was the MSRV.
2021-08-23 16:48:03 -07:00
Brian Smith
83c204342e CI: Use a slightly older Nightly Rust for coverage measurement. 2021-08-23 14:38:38 -07:00
Brian Smith
8e2b42d470 Revert "CI: Use nightly-2021-08-13 to work around regression in latest Rust nightly."
This reverts commit c8ca693ff7e6c619e1f2dd8ea915c335836af3a8 so we'll use the latest
nightly in CI. The rustc bug was fixed.
2021-08-17 15:27:11 -07:00
Alexander Ovchinnikov
ceb5b90f6e Enable building and running on Windows ARM64
I agree to license my contributions to each file under the terms given at the top of each file I changed.

Co-authored-by: Marc-André Moreau <marcandre.moreau@gmail.com>
2021-08-16 12:28:42 -07:00