Skip to content

Commit

Permalink
chore: port CI from hyper-util (#103)
Browse files Browse the repository at this point in the history
  • Loading branch information
kristof-mattei authored Nov 3, 2023
1 parent 74044e3 commit 5e4cb93
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 10 deletions.
127 changes: 127 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: CI
on:
pull_request:
push:
branches:
- master

env:
RUST_BACKTRACE: 1

jobs:
ci-pass:
name: CI is green
runs-on: ubuntu-latest
needs:
- style
- test
- msrv
- miri
- features
- doc
steps:
- run: exit 0

style:
name: Check Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt

- run: cargo fmt --all --check

test:
name: Test ${{ matrix.rust }} on ${{ matrix.os }}
needs: [style]
strategy:
matrix:
rust:
- stable
- beta
- nightly

os:
- ubuntu-latest
- windows-latest
- macOS-latest

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Install Rust (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- run: cargo test

msrv:
name: Check MSRV (${{ matrix.rust }})
needs: [style]
strategy:
matrix:
rust:
- 1.63 # keep in sync with MSRV.md dev doc

os:
- ubuntu-latest

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Install Rust (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- run: cargo check --features vendored

miri:
name: Test with Miri
needs: [style]
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@nightly
with:
components: miri

- name: Test
env:
# Can't enable tcp feature since Miri does not support the tokio runtime
MIRIFLAGS: "-Zmiri-disable-isolation"
run: cargo miri test

features:
name: features
needs: [style]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- uses: taiki-e/install-action@cargo-hack

- run: cargo hack --no-dev-deps check --feature-powerset --depth 2

doc:
name: Build docs
needs: [style, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@nightly

- run: cargo rustdoc -- --cfg docsrs -D broken-intra-doc-links
10 changes: 0 additions & 10 deletions .travis.yml

This file was deleted.

0 comments on commit 5e4cb93

Please sign in to comment.