reqwest-middleware/.github/workflows/ci.yml

147 lines
4.3 KiB
YAML
Raw Normal View History

2021-08-10 16:07:08 +00:00
on:
push:
branches: [main]
pull_request:
name: CI # Continuous Integration
jobs:
test:
name: Run test suite
2021-08-10 16:07:08 +00:00
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
2021-08-10 16:07:08 +00:00
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
2021-08-10 16:07:08 +00:00
- uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-targets --all-features
2021-08-10 16:07:08 +00:00
test-features-reqwest-middleware:
name: Run test suite for `reqwest-middleware` with every feature combination
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: test
run: cargo hack test --feature-powerset -p reqwest-middleware
test-features-retry:
name: Run test suite for `reqwest-retry` with every feature combination
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: test
run: cargo hack test --feature-powerset -p reqwest-retry
test-features-reqwest-tracing:
name: Run test suite for `reqwest-tracing` with every feature combination
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
# Old opentelemetry features group to improve performance
- name: test
run: cargo hack test --feature-powerset -p reqwest-tracing --group-features opentelemetry_0_20,opentelemetry_0_21,opentelemetry_0_22
2021-08-10 16:07:08 +00:00
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
2021-08-10 16:07:08 +00:00
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
2021-08-10 16:07:08 +00:00
- name: Check formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Run clippy
2021-08-10 16:07:08 +00:00
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
2021-08-10 16:07:08 +00:00
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
2021-08-10 16:07:08 +00:00
- name: Clippy check
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --all-features --workspace -- -D warnings
clippy-features:
name: Run clippy for every feature combination
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: test
run: cargo hack clippy --feature-powerset
2021-08-10 16:07:08 +00:00
2024-03-12 15:10:18 +00:00
typos:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Check spelling
uses: crate-ci/typos@master
2021-08-10 16:07:08 +00:00
docs:
name: Docs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
2021-08-10 16:07:08 +00:00
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
2021-08-10 16:07:08 +00:00
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps --document-private-items --all-features --workspace
2021-08-10 16:07:08 +00:00
publish-check:
name: Publish dry run
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
2021-08-10 16:07:08 +00:00
- uses: actions-rs/cargo@v1
with:
command: publish
args: --dry-run --manifest-path reqwest-middleware/Cargo.toml
- uses: actions-rs/cargo@v1
with:
command: publish
args: --dry-run --manifest-path reqwest-retry/Cargo.toml
- uses: actions-rs/cargo@v1
with:
command: publish
args: --dry-run --manifest-path reqwest-tracing/Cargo.toml