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
Brian Smith
c8ca693ff7
CI: Use nightly-2021-08-13 to work around regression in latest Rust nightly.
2021-08-15 14:34:56 -07:00
Brian Smith
fe67830da1
Use cargo-audit 0.15.0.
...
Fix the build failure.
2021-08-02 21:55:40 -07:00
Brian Smith
1bf024dacf
Run doctests in CI/CD.
2021-07-20 14:14:56 -07:00
Brian Smith
a7e73c3558
Test benchmarks in CI/CD.
2021-07-06 17:27:36 -07:00
Brian Smith
ec0d08d0ce
Increase Codecov patch coverage threshhold to reduce false positive failures.
2021-06-26 15:29:31 -07:00
Brian Smith
8f759ab135
Update cargo audit to 0.14.1.
2021-05-12 18:16:48 -07:00
Brian Smith
50bdf32ba2
Update cargo deny to 0.9.1.
2021-05-12 18:16:48 -07:00
Brian Smith
e8edff5811
Remove polyfill::slice::fill
; require Rust 1.52.1+.
2021-05-11 17:30:50 -07:00
Brian Smith
fed04d72db
CI/CD: Add a check that verifies symbol renaming was done well enough.
2021-05-02 22:09:07 -07:00
Brian Smith
508f5a3293
CI/CD: Use a GitHub-hosted copy of nasm instead of downloading it from nasm.us.
...
Downloading from nasm.us frequently fails. Avoid depending on it.
Change the expected location of nasm in build.rs.
2021-04-29 15:10:32 -07:00
Brian Smith
0c69150e35
CI/CD: Use my own fork of (third-party) GitHub Actions.
...
This is a step towards implementing the GitHub security hardening advice.
```
$ sed -ri 's|(uses: +)([^/]+)/([^@])|\1briansmith/\2-\3|g' .github/workflows/ci.yml
$ grep "uses:" .github/workflows/ci.yml | sort | uniq
- uses: briansmith/actions-cache@v2
- uses: briansmith/actions-checkout@v2
- uses: briansmith/actions-rs-toolchain@v1
- uses: briansmith/codecov-codecov-action@v1
```
2021-04-26 17:52:53 -07:00
Brian Smith
f3d8b52f53
Minimize GITHUB_TOKEN permissions and avoid persisting it.
...
Follow the advice near the end of
https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/
2021-04-22 16:16:57 -07:00
Brian Smith
0141c08d96
CI/CD: Suppress new clippy lints.
2021-04-20 13:31:06 -07:00
Brian Smith
521081fd31
CI: Don't enable unuseful features during coverage measurement.
2021-03-22 23:45:44 -07:00
Brian Smith
209b866c75
CI: Always use macos-latest
and Xcode 12.4.
...
macos-11.0 is pre-production. Use macos-latest instead, to (I hope)
make macOS jobs more likely to succeed. (Presently, they frequently
fail with no logs.)
Upgrade to Xcode 12.4 in hopes that this will make things work.
2021-02-26 11:25:50 -08:00
Brian Smith
bb6d3260ff
Bump MSRV to 1.47.0.
...
This allows us to use more `const fn` goodness and no more
`array::LengthAtMost32` limitations.
2021-02-10 08:35:20 -08:00
Brian Smith
20c9479474
CI/CD: Run release-mode tests using MSRV.
...
Also reorder the channels according in some priority order.
2020-12-07 21:33:27 -08:00
Brian Smith
45a43db987
CI/CD: Only use the latest stable version of Clippy.
...
It's too tedious to keep the code compatible with older clippy and newer
clippy, especially if/when we enable pedantic lints.
2020-12-07 21:33:27 -08:00
Brian Smith
ad4f6c9153
CI/CD: Also lint with the stable channel's clippy.
2020-12-03 17:40:33 -08:00
Brian Smith
1725cc295e
CI/CD: Run sudo apt-get update
before using apt-get
.
...
See https://github.com/actions/virtual-environments/issues/2155 . This fixes
CI/CD jobs failing due to `apt-get` failing to download packages.
2020-12-01 15:26:07 -08:00
Brian Smith
64184d649f
CI/CD: Add cargo audit
.
2020-11-30 20:24:31 -08:00
Brian Smith
2114ed7f9d
CI/CD: Try again to cache cargo-deny.
...
AFAICT, the previous attempt at caching didn't work because, AFAICT,
~/.cargo/{.crates.toml, .crates2.json} were not cached.
2020-11-30 19:28:28 -08:00
Brian Smith
df8fbf4145
CI/CD: Cache the cargo-deny binary to speed up the deny
job.
...
`cargo install cargo-deny` takes 7 minutes, while running it takes 2 seconds.
2020-11-30 18:25:56 -08:00
Brian Smith
019a8747dd
CI/CD: Use the same version of wasm-bindgen-cli as wasm-bindgen.
2020-11-30 17:40:12 -08:00
Brian Smith
23c99898cb
CI/CD: Enable building of aarch64-apple-darwin targets on Rust Beta.
...
https://blog.rust-lang.org/2020/11/27/Rustup-1.23.0.html#support-for-apple-m1-devices
says that the beta channel supports M1 targets now.
2020-11-30 03:27:49 -08:00
Brian Smith
ad612543ad
CI/CD: Don't use self-contained linking during code coverage.
...
Work around a bug in the Rust toolchain.
2020-11-30 02:29:54 -08:00
Brian Smith
c4c6899cc5
CI/CD: Use LLVM-11 for code coverage.
2020-11-30 00:26:42 -08:00
Brian Smith
7514f7a417
Remove the internal_benches
feature.
...
The benchmarks need to be rewritten to use a new benchmark framework.
Remove them in the interim. This makes `internal_benches` a no-op.
This enables using `--all-features` on stable channels. Do so for some
non-test things in CI. `--all-features` isn't added for tests because of
the `slow_tests` feature.
2020-11-26 16:25:34 -08:00
Brian Smith
6b4df12c7f
CI/CD: Verify that cargo doc
works on all channels.
2020-11-26 00:05:22 -08:00
Brian Smith
15c823a571
Build: Replace use of Yasm with use of Nasm for Windows assembly.
...
Match BoringSSL. According to the Chromium discussion about nasm, it
is also substantially faster.
2020-11-25 16:32:53 -08:00
Brian Smith
08c5854363
CI/CD: Separate coverage reports per test executable.
2020-11-25 16:29:43 -08:00
Brian Smith
af08a2fff9
CI/CD: Add aarch64-unknown-linux-gnu test code coverage.
...
aarch64-unknown-linux-musl doesn't have profiler_builtins enabled so
use aarch64-unknown-linux-gnu instead.
Work around an issue where the "%m" feature of the LLVM source-based code
coverage doesn't work within QEMU.
2020-11-25 16:29:43 -08:00
Brian Smith
6314cc7fff
CI/CD: Gather code coverage.
...
Gather code review data to help guide the code review process. This is currently limited
to i686 and x86_64 Linux because these are the targets I could get working. More
investigation is needed to figure out how to collect coverage data for ARM targets.
2020-11-25 16:29:43 -08:00
Brian Smith
7bac725679
Allow cross-compiling to *-linux-musl (except x86_64) w/o a sysroot.
...
Avoid requiring a sysroot for *-linux-musl targets when using Clang.
Add one AAarch64 and one 32-bit ARM MUSL target to GitHub Actions.
Use Rust 1.48's `-Clink-self-contained=yes` in CI for musl targets.
Support the non-default variants of the *-musl targets.
2020-11-24 09:22:50 -08:00
Brian Smith
f26bae0a6a
Add support for aarch64-apple-darwin.
...
Change the static CPU feature detection logic to assume all aarch64-apple-* targets
have the same capabilities as far as the features we use are concerned.
Use the "ios64" PerlAsm flavour for aarch64-apple-darwin, like OpenSSL upstream does.
Add (build-only) cross-compilation jobs to GitHub Actions.
2020-11-18 00:00:12 -08:00
Brian Smith
d12e36fec5
Move wasm32-unknown-unknown support to cargo.sh.
...
Make it easier to build and test the wasm32-unknown-unknown target locally.
2020-11-17 08:17:16 -08:00
Brian Smith
4076ee04eb
CI/CD: Add a package
job to GitHub Actions.
2020-11-17 08:15:45 -08:00
Brian Smith
fbe6562c22
Build: Make it easier to run the same configuration locally that is used in CI.
2020-11-13 12:46:38 -08:00
Brian Smith
72dab40d97
CI/CD: Add cargo deny job to GitHub Actions.
2020-11-11 17:49:40 -08:00