mirror of
https://github.com/tokio-rs/axum.git
synced 2024-11-21 22:56:46 +01:00
Cleanup CI (#141)
* Feature-gate test that depends on non-default features Makes `cargo check` work without extra flags. * Don't set doc(html_root_url) It is no longer recommended: https://github.com/rust-lang/api-guidelines/pull/230 * Remove documentation URL from Cargo.toml crates.io will link to the right version on docs.rs automatically. * Ensure toolchains installed by actions-rs/toolchain are actually used * Fix missing rustup component in check job * Raise MSRV to 1.51 Older versions weren't actually working before. * Only run clippy & rustfmt on stable toolchain MSRV is checked in test-versions. * Allow cargo doc to succeed without headers and multipart features CI will still ensure that intra-doc links that rely on these are not broken.
This commit is contained in:
parent
e13f1da11d
commit
6a042a9b3a
4 changed files with 14 additions and 11 deletions
14
.github/workflows/CI.yml
vendored
14
.github/workflows/CI.yml
vendored
|
@ -10,15 +10,14 @@ jobs:
|
|||
check:
|
||||
# Run `cargo check` first to ensure that the pushed code at least compiles.
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
rust: [stable, 1.40.0]
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.rust }}
|
||||
toolchain: stable
|
||||
override: true
|
||||
profile: minimal
|
||||
components: clippy
|
||||
- name: Check
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
|
@ -37,9 +36,12 @@ jobs:
|
|||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
override: true
|
||||
profile: minimal
|
||||
- name: cargo doc
|
||||
working-directory: ${{ matrix.subcrate }}
|
||||
env:
|
||||
RUSTDOCFLAGS: "-D broken-intra-doc-links"
|
||||
run: cargo doc --all-features --no-deps
|
||||
|
||||
cargo-hack:
|
||||
|
@ -49,6 +51,7 @@ jobs:
|
|||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
override: true
|
||||
profile: minimal
|
||||
- name: Install cargo-hack
|
||||
run: |
|
||||
|
@ -63,12 +66,13 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
rust: [stable, beta, nightly, 1.40.0]
|
||||
rust: [stable, beta, nightly, 1.51]
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.rust }}
|
||||
override: true
|
||||
profile: minimal
|
||||
- name: Run tests
|
||||
uses: actions-rs/cargo@v1
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
authors = ["David Pedersen <david.pdrsn@gmail.com>"]
|
||||
categories = ["asynchronous", "network-programming", "web-programming"]
|
||||
description = "Web framework that focuses on ergonomics and modularity"
|
||||
documentation = "https://docs.rs/axum/0.1.3"
|
||||
edition = "2018"
|
||||
homepage = "https://github.com/tokio-rs/axum"
|
||||
keywords = ["http", "web", "framework"]
|
||||
|
|
|
@ -664,7 +664,6 @@
|
|||
//! [examples]: https://github.com/tokio-rs/axum/tree/main/examples
|
||||
//! [`axum::Server`]: hyper::server::Server
|
||||
|
||||
#![doc(html_root_url = "https://docs.rs/axum/0.1.3")]
|
||||
#![warn(
|
||||
clippy::all,
|
||||
clippy::dbg_macro,
|
||||
|
@ -699,7 +698,7 @@
|
|||
missing_debug_implementations,
|
||||
missing_docs
|
||||
)]
|
||||
#![deny(unreachable_pub, broken_intra_doc_links, private_in_public)]
|
||||
#![deny(unreachable_pub, private_in_public)]
|
||||
#![allow(elided_lifetimes_in_paths, clippy::type_complexity)]
|
||||
#![forbid(unsafe_code)]
|
||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
use crate::{
|
||||
extract::RequestParts, handler::on, prelude::*, response::IntoResponse, routing::nest,
|
||||
routing::MethodFilter, service,
|
||||
extract::RequestParts, handler::on, prelude::*, routing::nest, routing::MethodFilter, service,
|
||||
};
|
||||
use bytes::Bytes;
|
||||
use futures_util::future::Ready;
|
||||
|
@ -514,8 +513,10 @@ async fn layer_on_whole_router() {
|
|||
}
|
||||
|
||||
#[tokio::test]
|
||||
#[cfg(feature = "header")]
|
||||
async fn typed_header() {
|
||||
use extract::TypedHeader;
|
||||
use crate::{extract::TypedHeader, response::IntoResponse};
|
||||
|
||||
async fn handle(TypedHeader(user_agent): TypedHeader<headers::UserAgent>) -> impl IntoResponse {
|
||||
user_agent.to_string()
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue