Skip to content

Bump MSRV and edition #891

Bump MSRV and edition

Bump MSRV and edition #891

Workflow file for this run

name: ci
on:
push:
branches: [master, 1.x]
pull_request:
env:
FEATURES: cookies,psl
jobs:
test:
strategy:
matrix:
os:
- ubuntu-latest
- macos-12
- windows-latest
runs-on: ${{ matrix.os }}
timeout-minutes: 20
env:
RUST_BACKTRACE: 1
RUST_LOG: isahc=debug
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install system dependencies
run: |
sudo apt update
sudo apt install -y libkrb5-dev
if: matrix.os == 'ubuntu-latest'
- name: Update Cargo.lock
run: cargo update
- name: Cache Cargo dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-
- name: Run tests
run: cargo test --features ${{ env.FEATURES }},spnego,unstable-interceptors
- name: Run example program
run: cargo run --release --example simple
test-minimal-versions:
runs-on: ubuntu-20.04
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: clippy
default: true
# openssl-sys <0.9.45 relies on a feature in rustc_version >=0.2.2, but
# specifies its dependency as "^0.2".
- name: Override openssl-sys version
run: |
printf '[dependencies.openssl-sys]\nversion = "0.9.45"\n' >> Cargo.toml
- name: Update Cargo.lock
run: cargo -Z minimal-versions update
- name: Cache Cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-
- name: Run tests
run: cargo test --features ${{ env.FEATURES }}
analyze:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: clippy
default: true
- name: Update Cargo.lock
run: cargo update
- name: Cache Cargo dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
cargo-${{ runner.os }}-
- name: Check Clippy lints
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --features ${{ env.FEATURES }},unstable-interceptors
- name: Generate code coverage report
uses: actions-rs/tarpaulin@v0.1.3
with:
version: '0.18.3'
args: "-p isahc --run-types Tests,Doctests --features ${{ env.FEATURES }}"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false