Break up lib.rs #221
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: Rust | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
rust_channel: ["stable", "beta", "nightly"] | |
include: | |
- rust_channel: "stable" | |
os: "macOS-latest" | |
- rust_channel: "stable-x86_64-pc-windows-gnu" | |
os: "windows-latest" | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set env (macOS) | |
if: matrix.os == 'macOS-latest' | |
run: | | |
echo "CARGO_PROFILE_DEV_SPLIT_DEBUGINFO=packed" >> $GITHUB_ENV | |
echo "CARGO_PROFILE_TEST_SPLIT_DEBUGINFO=packed" >> $GITHUB_ENV | |
echo "CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO=packed" >> $GITHUB_ENV | |
echo "CARGO_PROFILE_BENCH_SPLIT_DEBUGINFO=packed" >> $GITHUB_ENV | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal | |
- name: Install rust channel | |
run: | | |
rustup install ${{matrix.rust_channel}} | |
rustup default ${{matrix.rust_channel}} | |
- name: Test debug | |
run: | | |
cargo test --verbose | |
cargo test --verbose --features bin | |
- name: Test release | |
run: | | |
cargo test --verbose --release | |
cargo test --verbose --release --features bin | |
features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: cargo build --no-default-features | |
- run: cargo build --no-default-features --features std | |
- run: cargo build --no-default-features --features std,cpp_demangle | |
- run: cargo build --no-default-features --features std,rustc-demangle | |
- run: cargo build --no-default-features --features std-object | |
- run: cargo build --no-default-features --features fallible-iterator | |
- run: cargo build --no-default-features --features smallvec | |
- run: cargo build --no-default-features --features bin | |
bench: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal | |
- name: Install nightly rust | |
run: | | |
rustup install nightly | |
rustup default nightly | |
- run: cargo bench | |
msrv: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install rust | |
run: rustup update 1.65.0 && rustup default 1.65.0 | |
- name: Build | |
run: cargo build | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal | |
- name: Install rust | |
run: | | |
rustup install stable | |
rustup default stable | |
rustup component add rustfmt | |
- run: cargo fmt --all -- --check | |
coverage: | |
runs-on: ubuntu-latest | |
container: | |
image: xd009642/tarpaulin | |
options: --security-opt seccomp=unconfined | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal | |
- name: Install rust | |
run: | | |
rustup install stable | |
rustup default stable | |
- name: Build addr2line | |
run: cargo build --features bin | |
- name: Run cargo-tarpaulin | |
run: cargo tarpaulin --skip-clean --ignore-tests --out Lcov --implicit-test-threads | |
- name: Upload to Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: './lcov.info' | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: cargo doc |