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
17 changes: 11 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,28 +60,33 @@ jobs:
run: |
cp Cargo.lock.msrv Cargo.lock
- run: |
cargo test --no-default-features --features rust-backend
cargo test
cargo clean -p liblzma -p liblzma-sys
- run: |
cargo test --features parallel
cargo clean -p liblzma -p liblzma-sys
- run: |
cargo test --features bindgen
cargo test --no-default-features --features xz-sys
cargo clean -p liblzma -p xz-sys
- run: |
cargo test --no-default-features --features liblzma-sys
cargo clean -p liblzma -p liblzma-sys
# thin-lto and fat-lto feature required use clang as a linker, but linux default linker is gcc. so exclude thin-lto and fat-lto.
- run: |
cargo test --features parallel,static
cargo test --no-default-features --features liblzma-sys,parallel,static
cargo clean -p liblzma -p liblzma-sys
if: ${{ startsWith(matrix.os, 'ubuntu') }}
- run: |
cargo test --all-features
cargo test --test sys_equivalence
cargo clean -p liblzma -p liblzma-sys
if: ${{ !startsWith(matrix.os, 'ubuntu') }}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- run: |
cargo run --manifest-path systest/Cargo.toml
cargo run --manifest-path systest/Cargo.toml --no-default-features --features xz-sys
cargo clean -p xz-sys
cargo run --manifest-path systest/Cargo.toml --no-default-features --features liblzma-sys
cargo clean -p liblzma -p liblzma-sys
if: matrix.static == 'yes'
- run: cargo run --manifest-path systest/Cargo.toml --features bindgen
- run: cargo run --manifest-path systest/Cargo.toml --no-default-features --features liblzma-sys,bindgen
if: matrix.static == 'yes'


Expand Down
20 changes: 20 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# AGENTS

## Performance Work

Use the dedicated backend-performance workflow in [`docs/performance-workflow.md`](docs/performance-workflow.md).

Key entry points:

- Full deterministic regression gate: `scripts/compare_backends.sh`
- Focused backend workloads: `scripts/compare_workloads.sh`
- High-level API workloads: `scripts/compare_api_workloads.sh`
- Single-backend profiling: `scripts/profile_backend.sh`
- Optimized code inspection: `scripts/inspect_codegen.sh`

Important constraints:

- Never compare C and Rust sys backends in the same process. They export the same `lzma_*` symbols.
- Treat `scripts/compare_backends.sh` as the coarse deterministic gate.
- Use `qc` and `size` focused workloads for paths that are property-test-like or otherwise input-sensitive.
- Keep workload shape, iteration count, and profiler command stable while iterating on a hotspot.
Loading