Add heap corruption exception handling #282
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
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "*" | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
name: CI | |
jobs: | |
lint: | |
name: Lint | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, windows-2022, macos-14] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: "clippy, rustfmt" | |
- uses: Swatinem/rust-cache@v2 | |
# make sure all code has been formatted with rustfmt | |
- name: check rustfmt | |
run: cargo fmt -- --check --color always | |
# run clippy to verify we have no warnings | |
- run: cargo fetch | |
- name: cargo clippy | |
run: | | |
cargo clippy --all-targets --all-features -- -D warnings | |
test: | |
name: Test | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, windows-2022, macos-14] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo fetch | |
- name: cargo test build | |
run: cargo build --tests | |
- name: cargo test | |
run: cargo test | |
build-android: | |
name: Build sources | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
job: | |
#- { target: aarch64-unknown-linux-gnu, toolchain: stable } | |
- { target: aarch64-unknown-linux-musl, toolchain: stable } | |
- { target: aarch64-linux-android, toolchain: stable } | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.job.toolchain }} | |
target: ${{ matrix.job.target }} | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build | |
# We need to install cross from git, because https://github.com/cross-rs/cross/issues/1222 | |
# is still unreleased (it's been almost a year since the last release) | |
# and we can't use 1.67.0 any longer because some dependencies (sigh, | |
# home, really?) have a higher MSRV...so... | |
run: | | |
cargo install cross --git https://github.com/cross-rs/cross --rev 185398b | |
cross build --target ${{ matrix.job.target }} --verbose --all-targets | |
deny-check: | |
name: cargo-deny | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
publish-check: | |
name: Publish Check | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo fetch | |
- name: cargo publish check | |
run: | | |
cargo publish --dry-run --manifest-path crash-context/Cargo.toml | |
cargo publish --dry-run --manifest-path crash-handler/Cargo.toml | |
cargo publish --dry-run --manifest-path minidumper/Cargo.toml | |
cargo publish --dry-run --manifest-path sadness-generator/Cargo.toml | |
all: | |
runs-on: ubuntu-22.04 | |
needs: [lint, test, build-android, deny-check, publish-check] | |
steps: | |
- run: echo "All test jobs passed" |