Skip to content

Merge pull request #3 from LinkTed/update-dependencies #21

Merge pull request #3 from LinkTed/update-dependencies

Merge pull request #3 from LinkTed/update-dependencies #21

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
name: Job rustfmt
runs-on: ubuntu-latest
steps:
- name: Install toolchain with rustfmt
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- uses: actions/checkout@v4
- name: Run rustfmt
run: cargo fmt --all -- --check
clippy:
name: Job clippy
needs: rustfmt
runs-on: ubuntu-latest
steps:
- name: Install toolchain with clippy
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: actions/checkout@v4
- name: Run clippy
uses: giraffate/clippy-action@v1
with:
reporter: 'github-pr-check'
github_token: ${{ secrets.GITHUB_TOKEN }}
clippy_flags: --deny warnings -A clippy::unknown-clippy-lints
tests:
name: Job tests
needs: clippy
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
rust_channel: [stable, nightly]
features: [default, trust-dns-resolver]
runs-on: ${{ matrix.os }}
steps:
- name: Install toolchain ${{ matrix.rust_channel }} on ${{ matrix.os }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust_channel }}
- uses: actions/checkout@v4
- name: Run cargo test
run: cargo test --no-default-features --features "${{ matrix.features }}"
code-coverage:
name: Job code coverage
needs: tests
runs-on: ubuntu-latest
steps:
- name: Intall toolchain nightly on ubuntu-latest
uses: dtolnay/rust-toolchain@stable
with:
components: llvm-tools-preview
- uses: actions/checkout@v4
- name: cargo install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: cargo llvm-cov
run: cargo llvm-cov --all-features --lcov --output-path lcov.info
- name: Upload to codecov.io
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: OS,RUST