Merge pull request #97 from nyonson/release-protocol-0-6 #385
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 & Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
# Proxy application is not as strict as protocol library. | |
proxy: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [stable, beta, nightly] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Update Toolchain | |
run: | | |
rustup default ${{ matrix.toolchain }} | |
rustup component add --toolchain ${{ matrix.toolchain }} rustfmt | |
rustup component add --toolchain ${{ matrix.toolchain }} clippy | |
rustup update ${{ matrix.toolchain }} | |
- name: Lint | |
run: | | |
cargo clippy --package bip324-proxy --all-targets | |
- name: Format | |
run: | | |
cargo fmt --package bip324-proxy -- --check | |
- name: Build | |
run: | | |
cargo build --package bip324-proxy --verbose | |
cargo build --all --verbose --no-default-features | |
cargo build --all --verbose --all-features | |
- name: Test | |
run: | | |
cargo test --package bip324-proxy --verbose | |
protocol: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# Minumum Supported Rust Version (MSRV) is 1.63.0. | |
toolchain: [1.63.0, stable, beta, nightly] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Update Toolchain | |
run: | | |
rustup default ${{ matrix.toolchain }} | |
rustup component add --toolchain ${{ matrix.toolchain }} rustfmt | |
rustup component add --toolchain ${{ matrix.toolchain }} clippy | |
rustup update ${{ matrix.toolchain }} | |
- name: Lint | |
run: | | |
cargo clippy --package bip324 --all-targets | |
- name: Format | |
run: | | |
cargo fmt --package bip324 -- --check | |
- name: Build | |
# Build with default features, all, and none. | |
# Then build with specific feature sub-sets. | |
run: | | |
cargo build --package bip324 --verbose | |
cargo build --package bip324 --verbose --all-features | |
cargo build --package bip324 --verbose --no-default-features | |
cargo build --package bip324 --verbose --no-default-features --features alloc | |
- name: Test | |
# Test with default features, all, and none. | |
# Then test with specific feature sub-sets. | |
run: | | |
cargo test --package bip324 --verbose | |
cargo test --package bip324 --verbose --all-features | |
cargo test --package bip324 --verbose --no-default-features | |
cargo test --package bip324 --verbose --no-default-features --features alloc | |
- name: Check No Standard Library Support | |
# The cross tool used to test in a no standard library environment doesn't play nice with our MSRV, so limiting to just stable toolchain. | |
if: matrix.toolchain == 'stable' | |
run: | | |
rustup target add --toolchain ${{ matrix.toolchain }} thumbv7m-none-eabi | |
cargo install cross --locked | |
cross build --package bip324 --target thumbv7m-none-eabi --no-default-features --features alloc | |