h3i: Don't panic on empty header block #5375
Workflow file for this run
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
on: [push, pull_request] | |
name: Nightly | |
env: | |
RUSTFLAGS: "-D warnings" | |
RUSTDOCFLAGS: "--cfg docsrs" | |
RUSTTOOLCHAIN: "nightly" | |
jobs: | |
quiche: | |
runs-on: ubuntu-latest | |
# Only run on "pull_request" event for external PRs. This is to avoid | |
# duplicate builds for PRs created from internal branches. | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUSTTOOLCHAIN }} | |
components: rustfmt | |
- name: Run cargo fmt | |
run: cargo fmt -- --check | |
- name: Run cargo test | |
run: cargo test --verbose --all-targets --features=ffi,qlog | |
# Need to run doc tests separately. | |
# (https://github.com/rust-lang/cargo/issues/6669) | |
- name: Run cargo doc test | |
run: cargo test --verbose --doc --features=ffi,qlog | |
- name: Run cargo package | |
run: cargo package --verbose --workspace --exclude=quiche_apps --allow-dirty | |
- name: Run cargo doc | |
run: cargo doc --no-deps --all-features --document-private-items | |
- name: Build C examples | |
run: | | |
sudo apt-get install libev-dev uthash-dev | |
make -C quiche/examples | |
fuzz: | |
runs-on: ubuntu-latest | |
# Only run on "pull_request" event for external PRs. This is to avoid | |
# duplicate builds for PRs created from internal branches. | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUSTTOOLCHAIN }} | |
components: rustfmt | |
- name: Install cargo-fuzz | |
run: cargo install cargo-fuzz | |
- name: Run cargo fuzz for packet_recv_client | |
run: cargo fuzz run packet_recv_client -- -runs=1 | |
- name: Run cargo fuzz for packet_recv_server | |
run: cargo fuzz run packet_recv_server -- -runs=1 | |
- name: Run cargo fuzz for qpack_decode | |
run: cargo fuzz run qpack_decode -- -runs=1 | |
- name: Run cargo fmt | |
run: cargo fmt --manifest-path=fuzz/Cargo.toml -- --check | |
http3_test: | |
runs-on: ubuntu-latest | |
# Only run on "pull_request" event for external PRs. This is to avoid | |
# duplicate builds for PRs created from internal branches. | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUSTTOOLCHAIN }} | |
components: rustfmt | |
- name: Run cargo test | |
run: cargo test --no-run --verbose --manifest-path=tools/http3_test/Cargo.toml | |
- name: Run cargo fmt | |
run: cargo fmt --manifest-path=tools/http3_test/Cargo.toml -- --check |