diff --git a/.cargo/config.toml b/.cargo/config.toml index 16d75ced..a89a92b6 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,5 +1,21 @@ [alias] chk = "check --workspace --all-features --tests --examples --bins" lint = "clippy --workspace --all-features --tests --examples --bins -- -Dclippy::todo" -ci-test = "test --workspace --all-features --lib --tests --no-fail-fast -- --nocapture" + ci-doctest = "test --workspace --all-features --doc --no-fail-fast -- --nocapture" + +# just check the library (without dev deps) +ci-check-lib = "hack --workspace --feature-powerset --exclude-features io-uring check" +ci-check-lib-linux = "hack --workspace --feature-powerset check" + +# check everything +ci-check = "hack --workspace --feature-powerset --exclude-features io-uring check --tests --examples" +ci-check-linux = "hack --workspace --feature-powerset check --tests --examples" + +# tests avoiding io-uring feature +ci-test = "hack test --workspace --exclude=actix-rt --exclude=actix-server --all-features --lib --tests --no-fail-fast -- --nocapture" +ci-test-rt = " hack --feature-powerset --exclude-features io-uring test --package=actix-rt --lib --tests --no-fail-fast -- --nocapture" +ci-test-server = "hack --feature-powerset --exclude-features io-uring test --package=actix-server --lib --tests --no-fail-fast -- --nocapture" + +# test with io-uring feature +ci-test-linux = "test --workspace --all-features --lib --tests --no-fail-fast -- --nocapture" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0f62910..11149abb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,36 +75,40 @@ jobs: command: install args: cargo-hack - - name: check minimal + - name: check lib + if: matrix.target.os != 'ubuntu-latest' uses: actions-rs/cargo@v1 - with: - command: hack - args: check --workspace --no-default-features - - - name: check minimal + tests + with: { command: ci-check-lib } + - name: check lib + if: matrix.target.os == 'ubuntu-latest' uses: actions-rs/cargo@v1 - with: - command: hack - args: check --workspace --no-default-features --tests --examples - - - name: check default - uses: actions-rs/cargo@v1 - with: - command: check - args: --workspace --tests --examples - + with: { command: ci-check-lib-linux } + - name: check full # TODO: compile OpenSSL and run tests on MinGW - if: matrix.target.triple != 'x86_64-pc-windows-gnu' + if: > + matrix.target.os != 'ubuntu-latest' + && matrix.target.triple != 'x86_64-pc-windows-gnu' uses: actions-rs/cargo@v1 - with: - command: check - args: --workspace --all-features --tests --examples + with: { command: ci-check } + - name: check all + if: matrix.target.os == 'ubuntu-latest' + uses: actions-rs/cargo@v1 + with: { command: ci-check-linux } - name: tests - if: matrix.target.triple != 'x86_64-pc-windows-gnu' + if: > + matrix.target.os != 'ubuntu-latest' + && matrix.target.triple != 'x86_64-pc-windows-gnu' uses: actions-rs/cargo@v1 - with: { command: ci-test } + run: | + cargo ci-test + cargo ci-test-rt + cargo ci-test-server + - name: tests + if: matrix.target.os == 'ubuntu-latest' + uses: actions-rs/cargo@v1 + with: { command: ci-test-linux } - name: Generate coverage file if: > @@ -120,8 +124,7 @@ jobs: && matrix.version == 'stable' && github.ref == 'refs/heads/master' uses: codecov/codecov-action@v1 - with: - file: cobertura.xml + with: { file: cobertura.xml } - name: Clear the cargo caches run: | diff --git a/actix-tls/src/lib.rs b/actix-tls/src/lib.rs index 83e18d58..dbda8834 100644 --- a/actix-tls/src/lib.rs +++ b/actix-tls/src/lib.rs @@ -5,6 +5,7 @@ #![doc(html_favicon_url = "https://actix.rs/favicon.ico")] #[cfg(feature = "openssl")] +#[allow(unused_extern_crates)] extern crate tls_openssl as openssl; #[cfg(feature = "accept")]