Skip to content

Commit

Permalink
chore(ci): check all feature combinations in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
seanmonstar committed Nov 17, 2020
1 parent 2a19ab7 commit eb092a7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 20 deletions.
33 changes: 18 additions & 15 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
10 changes: 5 additions & 5 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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"))]
Expand Down Expand Up @@ -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)
}
Expand All @@ -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)
}
Expand Down Expand Up @@ -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)
}
Expand Down Expand Up @@ -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",
Expand Down

0 comments on commit eb092a7

Please sign in to comment.