daily-tests #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: daily-tests | |
permissions: | |
contents: read | |
on: | |
schedule: | |
# We run these tests on a daily basis (at a time slightly offset from the | |
# top of the hour), as their runtime is either too long for the usual per-PR | |
# CI, or because they rely on external 3rd party services that can be flaky. | |
- cron: '15 18 * * *' | |
jobs: | |
connect-tests: | |
name: Connect Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# test a bunch of toolchains on ubuntu | |
rust: | |
- stable | |
- beta | |
- nightly | |
os: [ubuntu-20.04] | |
# but only stable on macos/windows (slower platforms) | |
include: | |
- os: macos-latest | |
rust: stable | |
- os: windows-latest | |
rust: stable | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install ${{ matrix.rust }} toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
- name: Build main crate | |
run: cargo build --locked | |
- name: Run connect tests | |
run: cargo test --locked --manifest-path=connect-tests/Cargo.toml | |
env: | |
RUST_BACKTRACE: 1 | |
example-tests: | |
name: Example Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# test a bunch of toolchains on ubuntu | |
rust: | |
- stable | |
- beta | |
- nightly | |
os: [ubuntu-20.04] | |
# but only stable on macos/windows (slower platforms) | |
include: | |
- os: macos-latest | |
rust: stable | |
- os: windows-latest | |
rust: stable | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install ${{ matrix.rust }} toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
- name: Check simple client | |
run: cargo run --locked --bin simpleclient | |
- name: Check limited client | |
run: cargo run --locked --bin limitedclient | |
- name: Check simple 0rtt client | |
run: cargo run --locked --bin simple_0rtt_client | |
# Test the server_acceptor binary builds - we invoke with --help since it | |
# will run a server process that doesn't exit when invoked with no args | |
- name: Check server acceptor | |
run: cargo run --locked --bin server_acceptor -- --help | |
- name: Check provider-example client | |
run: cargo run --locked -p rustls-provider-example --example client | |
feature-powerset: | |
name: Feature Powerset | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Install cargo hack | |
uses: taiki-e/install-action@cargo-hack | |
- name: Check feature powerset | |
run: cargo hack check --feature-powerset --no-dev-deps | |
env: | |
RUSTFLAGS: --deny warnings |