Add support for Mach-O unpacked debuginfo #238
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 all | |
- name: Test release | |
run: | | |
cargo test --verbose --release | |
cargo test --verbose --release --features all | |
- name: Test unpacked debuginfo | |
if: matrix.rust_channel == 'stable' | |
run: cargo clean && cargo test correctness --features loader | |
env: | |
RUSTFLAGS: "-C split-debuginfo=unpacked" | |
- name: Test packed debuginfo | |
if: matrix.rust_channel == 'stable' | |
run: cargo clean && cargo test correctness --features loader | |
env: | |
RUSTFLAGS: "-C split-debuginfo=packed" | |
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 loader | |
- 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 | |
- run: cargo build --no-default-features --features all | |
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 --features loader | |
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 |