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 - opentelemetry_0_20 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 }} 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 - opentelemetry_0_20 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 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 - opentelemetry_0_20 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 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 - opentelemetry_0_20 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 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