| on: [push, pull_request] |
| |
| name: Nightly |
| |
| env: |
| RUSTFLAGS: "-D warnings" |
| TOOLCHAIN: "nightly-2020-10-25" |
| |
| 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@v2 |
| with: |
| submodules: 'recursive' |
| |
| - name: Install nightly toolchain |
| uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ env.TOOLCHAIN }} |
| components: rustfmt |
| override: true |
| |
| - name: Run cargo fmt |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: -- --check |
| |
| - name: Install dependencies |
| run: sudo apt-get install libev-dev uthash-dev |
| |
| - name: Run cargo test |
| uses: actions-rs/cargo@v1 |
| with: |
| command: test |
| args: --examples --verbose --features qlog |
| |
| - name: Run cargo package |
| uses: actions-rs/cargo@v1 |
| with: |
| command: package |
| args: --verbose --allow-dirty |
| |
| - name: Run cargo doc |
| uses: actions-rs/cargo@v1 |
| with: |
| command: doc |
| args: --no-deps |
| |
| - name: Build C examples |
| run: make -C examples |
| |
| apps: |
| 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@v2 |
| with: |
| submodules: 'recursive' |
| |
| - name: Install nightly toolchain |
| uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ env.TOOLCHAIN }} |
| components: rustfmt |
| override: true |
| |
| - name: Run cargo build |
| uses: actions-rs/cargo@v1 |
| with: |
| command: build |
| args: --verbose --manifest-path=tools/apps/Cargo.toml |
| |
| - name: Run cargo fmt |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: --manifest-path=tools/apps/Cargo.toml -- --check |
| |
| 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@v2 |
| with: |
| submodules: 'recursive' |
| |
| - name: Install nightly toolchain |
| uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ env.TOOLCHAIN }} |
| components: rustfmt |
| override: true |
| |
| - name: Install cargo-fuzz |
| run: cargo install cargo-fuzz |
| |
| - name: Run cargo fuzz for packet_recv_client |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fuzz |
| args: run packet_recv_client -- -runs=1 |
| |
| - name: Run cargo fuzz for packet_recv_server |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fuzz |
| args: run packet_recv_server -- -runs=1 |
| |
| - name: Run cargo fuzz for qpack_decode |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fuzz |
| args: run qpack_decode -- -runs=1 |
| |
| - name: Run cargo fmt |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: --manifest-path=fuzz/Cargo.toml -- --check |
| |
| qlog: |
| 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@v2 |
| with: |
| submodules: 'recursive' |
| |
| - name: Install nightly toolchain |
| uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ env.TOOLCHAIN }} |
| components: rustfmt |
| override: true |
| |
| - name: Run cargo test |
| uses: actions-rs/cargo@v1 |
| with: |
| command: test |
| args: --verbose --manifest-path=tools/qlog/Cargo.toml |
| |
| - name: Run cargo fmt |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: --manifest-path=tools/qlog/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@v2 |
| with: |
| submodules: 'recursive' |
| |
| - name: Install nightly toolchain |
| uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ env.TOOLCHAIN }} |
| components: rustfmt |
| override: true |
| |
| - name: Run cargo test |
| uses: actions-rs/cargo@v1 |
| with: |
| command: test |
| args: --no-run --verbose --manifest-path=tools/http3_test/Cargo.toml |
| |
| - name: Run cargo fmt |
| uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: --manifest-path=tools/http3_test/Cargo.toml -- --check |