chore(deps): Update dependencies #21
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: Build | |
permissions: | |
contents: read | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_PROFILE_DEV_DEBUG: 0 | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
RUSTFLAGS: "-D warnings" | |
RUSTUP_MAX_RETRIES: 10 | |
jobs: | |
test: | |
name: Test - ${{ matrix.target }} with rust ${{ matrix.rust }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- aarch64-unknown-linux-gnu | |
- armv7-unknown-linux-gnueabihf | |
- i686-unknown-linux-gnu | |
- x86_64-unknown-linux-gnu | |
# Disable until cross is fixed | |
#- x86_64-pc-windows-gnu | |
rust: | |
- stable | |
- beta | |
- nightly | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup install --profile minimal ${{ matrix.rust }} && rustup default ${{ matrix.rust }} | |
- name: Install cross | |
uses: taiki-e/install-action@cross | |
- name: Cache builds | |
uses: Swatinem/rust-cache@v2.7.3 | |
with: | |
key: ${{ matrix.target }} | |
- name: Cross compile | |
run: cross test --target ${{ matrix.target }} --verbose --no-run | |
- name: Cross test | |
run: cross test --target ${{ matrix.target }} --verbose | |
exotic-os: | |
name: Test - ${{ matrix.target }} on ${{ matrix.os }} (stable rust) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: | | |
rustup install --no-self-update --profile minimal stable | |
rustup target add ${{ matrix.target }} | |
rustup default stable | |
- name: Cache builds | |
uses: Swatinem/rust-cache@v2.7.3 | |
- name: Compile | |
run: cargo test --target ${{ matrix.target }} --verbose --no-run | |
- name: Test | |
run: cargo test --target ${{ matrix.target }} --verbose | |
configurations: | |
# Test non-standard configurations, MSRV and Rust versions | |
name: "Test: \"${{ matrix.features }}\" (Linux), Rust ${{ matrix.rust }}" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
features: | |
- --no-default-features | |
- --no-default-features --features=keyring | |
rust: | |
- 1.75.0 | |
- stable | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup install --profile minimal ${{ matrix.rust }} && rustup default ${{ matrix.rust }} | |
- name: Cache builds | |
uses: Swatinem/rust-cache@v2.7.3 | |
with: | |
save-if: ${{ matrix.features == '--no-default-features --features=keyring' }} | |
- name: Compile | |
run: cargo test ${{ matrix.features }} --verbose --no-run | |
- name: Test | |
run: cargo test ${{ matrix.features }} --verbose | |
# Simulate docs.rs | |
doc: | |
name: Documentation | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup install --profile minimal nightly && rustup default nightly | |
- uses: dtolnay/install@cargo-docs-rs | |
- run: cargo docs-rs |