mirror of
https://github.com/tokio-rs/axum.git
synced 2025-10-02 07:20:38 +00: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
14
.github/workflows/CI.yml
vendored
14
.github/workflows/CI.yml
vendored
@ -10,15 +10,14 @@ jobs:
|
|||||||
check:
|
check:
|
||||||
# Run `cargo check` first to ensure that the pushed code at least compiles.
|
# Run `cargo check` first to ensure that the pushed code at least compiles.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust: [stable, 1.40.0]
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: ${{ matrix.rust }}
|
toolchain: stable
|
||||||
|
override: true
|
||||||
profile: minimal
|
profile: minimal
|
||||||
|
components: clippy
|
||||||
- name: Check
|
- name: Check
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -37,9 +36,12 @@ jobs:
|
|||||||
- uses: actions-rs/toolchain@v1
|
- uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: stable
|
||||||
|
override: true
|
||||||
profile: minimal
|
profile: minimal
|
||||||
- name: cargo doc
|
- name: cargo doc
|
||||||
working-directory: ${{ matrix.subcrate }}
|
working-directory: ${{ matrix.subcrate }}
|
||||||
|
env:
|
||||||
|
RUSTDOCFLAGS: "-D broken-intra-doc-links"
|
||||||
run: cargo doc --all-features --no-deps
|
run: cargo doc --all-features --no-deps
|
||||||
|
|
||||||
cargo-hack:
|
cargo-hack:
|
||||||
@ -49,6 +51,7 @@ jobs:
|
|||||||
- uses: actions-rs/toolchain@v1
|
- uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: stable
|
||||||
|
override: true
|
||||||
profile: minimal
|
profile: minimal
|
||||||
- name: Install cargo-hack
|
- name: Install cargo-hack
|
||||||
run: |
|
run: |
|
||||||
@ -63,12 +66,13 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
rust: [stable, beta, nightly, 1.40.0]
|
rust: [stable, beta, nightly, 1.51]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: ${{ matrix.rust }}
|
toolchain: ${{ matrix.rust }}
|
||||||
|
override: true
|
||||||
profile: minimal
|
profile: minimal
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
authors = ["David Pedersen <david.pdrsn@gmail.com>"]
|
authors = ["David Pedersen <david.pdrsn@gmail.com>"]
|
||||||
categories = ["asynchronous", "network-programming", "web-programming"]
|
categories = ["asynchronous", "network-programming", "web-programming"]
|
||||||
description = "Web framework that focuses on ergonomics and modularity"
|
description = "Web framework that focuses on ergonomics and modularity"
|
||||||
documentation = "https://docs.rs/axum/0.1.3"
|
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
homepage = "https://github.com/tokio-rs/axum"
|
homepage = "https://github.com/tokio-rs/axum"
|
||||||
keywords = ["http", "web", "framework"]
|
keywords = ["http", "web", "framework"]
|
||||||
|
@ -664,7 +664,6 @@
|
|||||||
//! [examples]: https://github.com/tokio-rs/axum/tree/main/examples
|
//! [examples]: https://github.com/tokio-rs/axum/tree/main/examples
|
||||||
//! [`axum::Server`]: hyper::server::Server
|
//! [`axum::Server`]: hyper::server::Server
|
||||||
|
|
||||||
#![doc(html_root_url = "https://docs.rs/axum/0.1.3")]
|
|
||||||
#![warn(
|
#![warn(
|
||||||
clippy::all,
|
clippy::all,
|
||||||
clippy::dbg_macro,
|
clippy::dbg_macro,
|
||||||
@ -699,7 +698,7 @@
|
|||||||
missing_debug_implementations,
|
missing_debug_implementations,
|
||||||
missing_docs
|
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)]
|
#![allow(elided_lifetimes_in_paths, clippy::type_complexity)]
|
||||||
#![forbid(unsafe_code)]
|
#![forbid(unsafe_code)]
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
extract::RequestParts, handler::on, prelude::*, response::IntoResponse, routing::nest,
|
extract::RequestParts, handler::on, prelude::*, routing::nest, routing::MethodFilter, service,
|
||||||
routing::MethodFilter, service,
|
|
||||||
};
|
};
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
use futures_util::future::Ready;
|
use futures_util::future::Ready;
|
||||||
@ -514,8 +513,10 @@ async fn layer_on_whole_router() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
#[cfg(feature = "header")]
|
||||||
async fn typed_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 {
|
async fn handle(TypedHeader(user_agent): TypedHeader<headers::UserAgent>) -> impl IntoResponse {
|
||||||
user_agent.to_string()
|
user_agent.to_string()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user