chore(ci): check all feature combinations in CI

This commit is contained in:
Sean McArthur
2020-11-17 11:04:43 -08:00
parent 2a19ab74ed
commit eb092a7b8c
2 changed files with 23 additions and 20 deletions

View File

@@ -9,6 +9,17 @@ env:
RUST_BACKTRACE: 1
jobs:
ci-pass:
name: CI is green
runs-on: ubuntu-latest
needs:
- style
- test
- features
- doc
steps:
- run: exit 0
style:
name: Check Style
runs-on: ubuntu-latest
@@ -82,17 +93,9 @@ jobs:
args: --benches ${{ matrix.features }}
features:
name: Test Feature ${{ matrix.features }}
name: features
needs: [style]
strategy:
matrix:
features:
- "--features __internal_happy_eyeballs_tests"
- "--no-default-features --features tcp"
- "--no-default-features"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
@@ -101,14 +104,14 @@ jobs:
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
toolchain: nightly
override: true
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: ${{ matrix.features }}
- name: Install cargo-hack
run: cargo install cargo-hack
- name: check --each-feature
run: cargo hack check --each-feature -Z avoid-dev-deps
doc:
name: Build docs

View File

@@ -42,7 +42,7 @@ pub(crate) enum Kind {
#[cfg(any(feature = "http1", feature = "http2"))]
Accept,
/// Error while reading a body from connection.
#[cfg(any(feature = "http1", feature = "http2"))]
#[cfg(any(feature = "http1", feature = "http2", feature = "stream"))]
Body,
/// Error while writing a body to connection.
#[cfg(any(feature = "http1", feature = "http2"))]
@@ -225,7 +225,7 @@ impl Error {
Error::new(Kind::UnexpectedMessage)
}
#[cfg(feature = "http1")]
#[cfg(any(feature = "http1", feature = "http2"))]
pub(crate) fn new_io(cause: std::io::Error) -> Error {
Error::new(Kind::Io).with(cause)
}
@@ -249,7 +249,7 @@ impl Error {
Error::new(Kind::ChannelClosed)
}
#[cfg(any(feature = "http1", feature = "http2"))]
#[cfg(any(feature = "http1", feature = "http2", feature = "stream"))]
pub(crate) fn new_body<E: Into<Cause>>(cause: E) -> Error {
Error::new(Kind::Body).with(cause)
}
@@ -287,7 +287,7 @@ impl Error {
Error::new_user(User::UnsupportedStatusCode)
}
#[cfg(feature = "http1")]
#[cfg(any(feature = "http1", feature = "http2"))]
pub(crate) fn new_user_absolute_uri_required() -> Error {
Error::new_user(User::AbsoluteUriRequired)
}
@@ -350,7 +350,7 @@ impl Error {
Kind::Listen => "error creating server listener",
#[cfg(any(feature = "http1", feature = "http2"))]
Kind::Accept => "error accepting connection",
#[cfg(any(feature = "http1", feature = "http2"))]
#[cfg(any(feature = "http1", feature = "http2", feature = "stream"))]
Kind::Body => "error reading a body from connection",
#[cfg(any(feature = "http1", feature = "http2"))]
Kind::BodyWrite => "error writing a body to connection",