Commit Graph

128 Commits

Author SHA1 Message Date
Joseph Birr-Pixton 85fdfd4a23 Attempt to improve `merge_group` job performance 2024-03-07 13:52:42 +00:00
Daniel McCarney 1e656ba1fc ci: avoid fmt-unstable alias for unstable fmt job
Unfortunately the alias doesn't allow passing in custom arguments like
`--all` or `--manifest-path`. Doing so in the manner we tried before
results in output like:

```
> Run cargo fmt-unstable --all --manifest-path=connect-tests/Cargo.toml -- --check
Unrecognized option: 'all'
```

This commit switches to the full `cargo fmt` invocation in each case.
2024-03-04 09:27:43 +00:00
Joseph Birr-Pixton 2d66fe4d9b Fix `name` for benchmarking toolchain step 2024-03-01 15:25:48 +00:00
Joseph Birr-Pixton a47352629d Run rustfmt nightly in CI
Do not fail the job on changes on nightly.
2024-03-01 15:25:48 +00:00
Joseph Birr-Pixton 384b3d6fb0 Avoid `fips` feature for docs.rs
The docs.rs environment has golang installed, but doesn't have
the environment variables needed to make it actually work:
https://github.com/rust-lang/docs.rs/issues/1303

So avoid that entirely.
2024-03-01 14:04:23 +00:00
Joe Birr-Pixton cf098b08d3 Cargo.toml: disentangle std/aws_lc_rs features 2024-02-28 20:27:34 +00:00
Jorge Aparicio 7770f2bef7 CI: check that deps are not using libstd API 2024-02-27 14:31:05 +00:00
Daniel McCarney 8e95ae1967 ci: skip docs deploy for forks 2024-02-23 16:32:17 +00:00
Joseph Birr-Pixton fe0c345254 Publish pre-release documentation via github-pages 2024-02-19 11:05:47 +00:00
Joseph Birr-Pixton deffd3fa55 Update version of nightly for check-external-types 2024-02-15 12:02:31 +00:00
Daniel McCarney 3179b925c2 ci: add Windows aws-lc-rs build reqs to daily-tests 2024-02-12 19:02:29 +00:00
Joe Birr-Pixton 95067cb333 provide codecov token for coverage job 2024-02-09 18:39:21 +00:00
Arash Sahebolamri 8c29d91ed3 Test FFDHE support against OpenSSL
This commit adds a new test crate `openssl-tests` that includes tests of
FFDHE kx and validation of baked-in FFDHE parameters
2024-02-07 14:02:26 +00:00
Joe Birr-Pixton 97579d422f
github actions: standardise on ubuntu-latest (#1773) 2024-02-06 14:36:10 +00:00
dependabot[bot] bc71528bbd build(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 09:38:34 +00:00
Daniel McCarney 1507a5328f ci: add workflow_dispatch to daily-tests
This allows triggering the workflow manually for a specific build in the
GitHub UI.

See: https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow
2024-02-02 19:16:27 +00:00
Joseph Birr-Pixton ec08574611 Avoid doctests on macOS and Windows
This relies on `cargo test --all-targets` not including doctests
(mysterious, but explicitly documented).

We don't have any platform-specific doctests in this crate, so this
is probably inconsequential.
2024-02-02 16:57:39 +00:00
Sean McGrail 6bd851e72e Add 'fips' Cargo feature
Add `rustls::crypto::default_fips_provider()` behind this
feature.
2024-02-02 16:57:39 +00:00
Jorge Aparicio a416464099 add async example 2023-12-19 09:30:04 +00:00
Jorge Aparicio 57c963951f add UnbufferedClientConnection API + example 2023-12-19 09:30:04 +00:00
Adolfo Ochagavía 11b2e6c782 bench: remove GitHub Actions for icount benchmarks
This is no longer necessary now the benchmarks run on the bare-metal
server (triggered through webhooks).
2023-12-18 14:03:18 +00:00
dependabot[bot] 3c16afed64 build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 08:52:46 +00:00
dependabot[bot] 4074adf8a9 build(deps): bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 08:22:35 +00:00
Jorge Aparicio f7c12c02c0 CI: build provider-example in no-std mode 2023-12-05 20:28:54 +00:00
Jacob Hoffman-Andrews 4736733f22 Reverse order of main vs PR 2023-11-30 15:03:11 +00:00
Jorge Aparicio e8bd45cff9 CI: deny warnings when checking feature powerset 2023-11-24 15:14:19 +00:00
Jorge Aparicio a54c8ecbe3 CI: run clippy on the entire workspace 2023-11-22 15:06:37 +00:00
Joseph Birr-Pixton beae45c35d Support aws-lc-rs in integration-level benchmarks 2023-11-21 09:58:03 +00:00
Joseph Birr-Pixton 26541d5bb1 Use cargo-minimal-versions
This hides a bunch of mess underlying `cargo update -Z direct-minimal-versions`:
mainly the ability to exclude workspace crates with publish=false from
version resolution (`--ignore-private` flag).
2023-11-20 11:22:25 +00:00
Joseph Birr-Pixton 076090d4bd Switch to checking direct-minimal-versions
Of `-Z minimal-versions` it is said:

> Note: It is not recommended to use this feature. Because it enforces minimal
> versions for all transitive dependencies, its usefulness is limited since not
> all external dependencies declare proper lower version bounds.

`-Z direct-minimal-versions` appears to be its replacement, which means our
CI is checking things only within our control.
2023-11-20 11:22:25 +00:00
Joseph Birr-Pixton 538cb78f83 Abolish quic crate feature
This reveals that bogo_shim fails to build for `--no-default-features --features tls12`.
Feature gate the entire program on `ring | aws-lc-rs`.
2023-11-17 19:27:21 +00:00
Joseph Birr-Pixton 6189d780d8 Run feature tests in rustls/ directory
Otherwise they get altered by feature unification from other
members of the workspace.  That's more "spooky action at a distance"
than is desirable.
2023-11-09 16:18:11 +00:00
Joseph Birr-Pixton 1379f12657 Enable testing and benchmarking with aws-lc-rs 2023-11-09 16:18:11 +00:00
Joseph Birr-Pixton aaf21d1cdf Allow optional use of aws-lc-rs
Provide shims for limited number of places where ring 0.17 and
aws-lc-rs (ring 0.16-era) APIs have diverged.  This is a
short-term fix, as they are likely to diverge more over time.
Eventually we'll have to stop sharing the code like this.

For unit-like tests, export a `test_provider` alias that resolves
to a provider module, for use in these tests.

This resolves to:

- *ring* if cfg(feature = "ring"), else
- aws-lc-rs if cfg(feature = "aws_lc_rs"), else
- is absent
2023-11-09 16:18:11 +00:00
Daniel McCarney 71505f36f4 docs: create issue templates
Add Bug report, Feature request, and Dependency update issue templates to help prompt users into providing the information that will get them the best help.
2023-10-27 22:14:00 +00:00
Daniel McCarney 3b8a7c3afb ci: move external types config to cargo metadata
As of cargo-check-external-types v0.1.9 the tool can read its
configuration from the crate `Cargo.toml` metadata, removing the need
for a standalone TOML file and the `--config` arg. This commit switches
to that style of configuration.
2023-10-18 21:18:51 +00:00
Joe Birr-Pixton 22a808a212 Run cargo-check-external-types in CI
This needs nightly, which is affixed as the version documneted as working by
cargo-check-external-types.

external-types.toml is a config file as a starting point: it allows all types from
pki-types.

This currently fails due to some `impl From<ExternalType>` on public types.
2023-10-18 09:23:03 +00:00
Dirkjan Ochtman 2a94f9b2ab Bump MSRV to 1.61 2023-10-04 14:17:18 +00:00
Dirkjan Ochtman 40fdc4495c Group Dependabot updates into a single PR 2023-10-04 14:16:13 +00:00
Daniel McCarney 1a939124e8 ci: remove `--locked` from cargo hack daily test
Running `cargo hack check --locked --feature-powerset` seems to be
failing, as it detects that the lockfile needs to be updated. Updating
the lockfile and re-running causes the same error. It looks as though
it is removing items from the lockfile based on which features it's
testing.

To prevent this test from failing, let's remove `--locked` and test the
feature powerset with relaxed handling of the `Cargo.lock` file.
2023-09-29 12:36:19 +00:00
Daniel McCarney 940d603e38 ci: run cargo dependabot weekly
Now that we're checking in `Cargo.lock` files we'll be getting more
Dependabot PRs for semver compatible Cargo dependency updates. This
commit switches the tool to run weekly instead of daily so that we don't
have to spend as much time triaging these on a day-by-day basis.
2023-09-27 15:01:49 +00:00
Adolfo Ochagavía 2c0b2c142e Run CI bench for current branch before main 2023-09-26 13:38:35 +00:00
Dirkjan Ochtman 78c8ff4d96 Use Cargo.lock for CI builds 2023-09-26 13:38:35 +00:00
Dirkjan Ochtman c7970af179 Keep Cargo.lock under version control 2023-09-26 13:38:35 +00:00
Dirkjan Ochtman ff595eb7b3 Fix minimal versions job 2023-09-26 13:38:35 +00:00
Joseph Birr-Pixton 92a9e46d20 Use stable for coverage measurement 2023-09-20 08:21:36 +00:00
Joseph Birr-Pixton 5a1b369080 icount-bench: apt update before relying on index 2023-09-14 09:52:32 +00:00
Joseph Birr-Pixton a1950e84cf Add demonstration of custom crypto
This is an example that builds a mostly-unchanged rustls example
(simpleclient), but only using crypto from the rust-crypto project
and elsewhere.

This is intended to be minimalistic, and not a complete replacement
for *ring*.

It implements:

- TLS1.3 TLS13_CHACHA20_POLY1305_SHA256 cipher suite.
- TLS1.2 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite.
- X25519 key exchange.
- RSA-PSS-SHA256 and RSA-PKCS1-SHA256 signature verification for
  verifying the server, integrated into the webpki crate.
- random generation using `rand_core`.

This means it can fetch www.rust-lang.org.

TLS1.2 is not strictly necessary for this server, but serves to
demonstrate that part of the API.
2023-09-13 15:32:29 +00:00
dependabot[bot] 1770e1e455 build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 05:31:12 +00:00
Adolfo Ochagavía 490108e6c5 Show valgrind version in CI job 2023-09-06 08:40:39 +00:00