Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto eol=lf
62 changes: 62 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Build

on:
pull_request:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/build.yml'
push:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/build.yml'
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
toolchain:
- "1.88.0"
- stable
os-arch:
- ubuntu-24.04-x86_64
- ubuntu-24.04-aarch64
- macos-x86_64
- macos-aarch64
- windows-x86_64
include:
- os-arch: ubuntu-24.04-x86_64
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- os-arch: ubuntu-24.04-aarch64
runner: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
- os-arch: macos-x86_64
runner: macos-26-intel
target: x86_64-apple-darwin
- os-arch: macos-aarch64
runner: macos-26
target: aarch64-apple-darwin
- os-arch: windows-x86_64
runner: windows-2025
target: x86_64-pc-windows-gnu
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
toolchain: ${{ matrix.toolchain }}
target: ${{ matrix.target }}
- run: cargo build --workspace --all-targets --all-features --target ${{ matrix.target }}
44 changes: 44 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Lint

on:
pull_request:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/lint.yml'
push:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/lint.yml'
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
toolchain: stable
components: rustfmt
- run: cargo fmt --all -- --check

clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
toolchain: stable
components: clippy
- run: cargo clippy --workspace --all-targets --all-features -- -D warnings
28 changes: 28 additions & 0 deletions .github/workflows/spdx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: SPDX License Check

on:
pull_request:
paths:
- '**/*.rs'
- ".github/workflows/spdx.yml"
push:
paths:
- '**/*.rs'
- ".github/workflows/spdx.yml"
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
spdx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: enarx/spdx@d4020ee98e3101dd487c5184f27c6a6fb4f88709
with:
licenses: Apache-2.0
66 changes: 66 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Test

on:
push:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/test.yml'
pull_request:
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/test.yml'
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
integration-test:
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
toolchain:
- "1.88.0"
- stable
os-arch:
- ubuntu-24.04-x86_64
- ubuntu-24.04-aarch64
- macos-x86_64
- macos-aarch64
- windows-x86_64
include:
- os-arch: ubuntu-24.04-x86_64
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- os-arch: ubuntu-24.04-aarch64
runner: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
- os-arch: macos-x86_64
runner: macos-26-intel
target: x86_64-apple-darwin
- os-arch: macos-aarch64
runner: macos-26
target: aarch64-apple-darwin
- os-arch: windows-x86_64
runner: windows-2025
target: x86_64-pc-windows-gnu

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@150fca883cd4034361b621bd4e6a9d34e5143606 # v1.15.4
with:
toolchain: ${{ matrix.toolchain }}
target: ${{ matrix.target }}
- run: cargo test --all-targets --target ${{ matrix.target }}
186 changes: 186 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading