|
|
|
@ -19,10 +19,14 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
with: |
|
|
|
|
key: tarpaulin |
|
|
|
@ -30,11 +34,10 @@ jobs:
|
|
|
|
|
uses: baptiste0928/cargo-install@v3.1.0 |
|
|
|
|
with: |
|
|
|
|
crate: cargo-tarpaulin |
|
|
|
|
|
|
|
|
|
- name: Run tarpaulin |
|
|
|
|
uses: actions-rs/cargo@v1 |
|
|
|
|
with: |
|
|
|
|
command: tarpaulin |
|
|
|
|
args: --workspace --features annex-b,intl_bundled,experimental --ignore-tests --engine llvm --out xml |
|
|
|
|
run: cargo tarpaulin --workspace --features annex-b,intl_bundled,experimental --ignore-tests --engine llvm --out xml |
|
|
|
|
|
|
|
|
|
- name: Upload to codecov.io |
|
|
|
|
uses: codecov/codecov-action@v4 |
|
|
|
|
|
|
|
|
@ -48,10 +51,14 @@ jobs:
|
|
|
|
|
- macos-latest |
|
|
|
|
- windows-latest |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
- name: Build tests |
|
|
|
|
run: cargo test --no-run --profile ci |
|
|
|
@ -70,14 +77,19 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
# Get the rust_version from the Cargo.toml |
|
|
|
|
- name: Get rust_version |
|
|
|
|
id: rust_version |
|
|
|
|
run: echo "rust_version=$(grep '^rust-version' Cargo.toml | cut -d' ' -f3 | tr -d '"')" >> $GITHUB_OUTPUT |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: ${{ steps.rust_version.outputs.rust_version }} |
|
|
|
|
|
|
|
|
|
- name: Check compilation |
|
|
|
|
run: cargo check --all-features --all-targets |
|
|
|
|
|
|
|
|
@ -86,11 +98,15 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
components: rustfmt |
|
|
|
|
|
|
|
|
|
- name: Format (rustfmt) |
|
|
|
|
run: cargo fmt --all --check |
|
|
|
|
|
|
|
|
@ -99,18 +115,22 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
components: clippy |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
with: |
|
|
|
|
key: clippy |
|
|
|
|
|
|
|
|
|
- name: Install cargo-workspaces |
|
|
|
|
uses: actions-rs/install@v0.1 |
|
|
|
|
with: |
|
|
|
|
crate: cargo-workspaces |
|
|
|
|
run: cargo install cargo-workspaces |
|
|
|
|
|
|
|
|
|
- name: Clippy (All features) |
|
|
|
|
run: cargo workspaces exec cargo clippy --all-features --all-targets |
|
|
|
|
- name: Clippy (No features) |
|
|
|
@ -129,10 +149,14 @@ jobs:
|
|
|
|
|
env: |
|
|
|
|
RUSTDOCFLAGS: -D warnings |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
with: |
|
|
|
|
key: docs |
|
|
|
@ -144,18 +168,21 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
with: |
|
|
|
|
key: build-fuzz |
|
|
|
|
|
|
|
|
|
- name: Install cargo-fuzz |
|
|
|
|
uses: actions-rs/install@v0.1 |
|
|
|
|
with: |
|
|
|
|
crate: cargo-fuzz |
|
|
|
|
version: latest |
|
|
|
|
run: cargo install cargo-fuzz |
|
|
|
|
|
|
|
|
|
- name: Build fuzz |
|
|
|
|
run: cd tests/fuzz && cargo fuzz build -s none --dev |
|
|
|
|
|
|
|
|
@ -164,17 +191,20 @@ jobs:
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
timeout-minutes: 60 |
|
|
|
|
steps: |
|
|
|
|
- uses: actions/checkout@v4 |
|
|
|
|
- uses: dtolnay/rust-toolchain@stable |
|
|
|
|
- name: Checkout repository |
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
- name: Install Rust toolchain |
|
|
|
|
uses: dtolnay/rust-toolchain@stable |
|
|
|
|
with: |
|
|
|
|
toolchain: stable |
|
|
|
|
|
|
|
|
|
- uses: Swatinem/rust-cache@v2 |
|
|
|
|
with: |
|
|
|
|
key: build-run-examples |
|
|
|
|
|
|
|
|
|
- name: Install cargo-workspaces |
|
|
|
|
uses: actions-rs/install@v0.1 |
|
|
|
|
with: |
|
|
|
|
crate: cargo-workspaces |
|
|
|
|
run: cargo install cargo-workspaces |
|
|
|
|
|
|
|
|
|
- name: Build (All features) |
|
|
|
|
run: cargo workspaces exec cargo build --all-features --all-targets --profile ci |
|
|
|
|