Add context tracking for errors #153
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: [push, pull_request] | |
env: | |
RUSTFLAGS: "-D warnings" | |
jobs: | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
rust: [1.78.0, stable, beta, nightly] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v1 | |
- name: Install Rust | |
uses: hecrj/setup-rust-action@v2 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- if: matrix.rust == 'stable' | |
run: rustup component add clippy | |
- if: matrix.rust == 'stable' | |
run: cargo clippy --all-features --all-targets -- -D warnings | |
- if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
run: cargo fmt --all -- --check | |
- run: cargo check --no-default-features --all-targets | |
- run: cargo test --all-features | |
minimal-versions: | |
name: Check minimal versions | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v1 | |
- name: Install Rust | |
uses: hecrj/setup-rust-action@v2 | |
with: | |
rust-version: "1.78.0" | |
- name: Install nightly Rust | |
run: rustup install nightly | |
- name: Check with minimal-versions | |
run: | | |
cargo +nightly update -Z minimal-versions | |
cargo check --all-features --all-targets --locked | |
extra-tests: | |
name: Extra tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v1 | |
- name: Install Rust | |
uses: hecrj/setup-rust-action@v2 | |
- name: Install supporting tools/libraries | |
run: | | |
# The tests compare their output to that of LDNS tools, so we need to | |
# install them. Some tests work with DNSSEC keys for which the OpenSSL | |
# library must be compiled against which requires C build programs and | |
# pkg-config. Install everything we need. | |
sudo apt-get update | |
sudo apt-get install -y build-essential ldnsutils libssl-dev pkg-config | |
- name: Run tests that are normally ignored | |
run: cargo test --all-features --all-targets -- --ignored |