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

165 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: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
2021-08-10 16:07:08 +00:00
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-targets --features ${{ matrix.otel_version }}
2021-08-10 16:07:08 +00:00
wasm:
name: Compiles for the browser
runs-on: ubuntu-latest
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
target: wasm32-unknown-unknown
toolchain: stable
profile: minimal
override: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --features ${{ matrix.otel_version }} --target wasm32-unknown-unknown
2021-08-10 16:07:08 +00:00
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
components: rustfmt
- name: Check formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
2021-08-10 16:07:08 +00:00
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
components: clippy
- name: Clippy check
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --features ${{ matrix.otel_version }} --workspace -- -D warnings
2021-08-10 16:07:08 +00:00
docs:
name: Docs
runs-on: ubuntu-latest
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
2021-08-10 16:07:08 +00:00
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps --document-private-items --features ${{ matrix.otel_version }} --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@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- 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