Convert test-matrix from single container to DAG with two parallel branches: - test-glibc: Full test suite including OCR (tesseract available on Debian) - test-musl: Production binary feature set (no OCR, unavailable on Alpine) Musl leg configuration: - Image: ghcr.io/cross-rs/x86_64-unknown-linux-musl:main - Test: cross test --release --target x86_64-unknown-linux-musl --features default,serve,decrypt - Output: JUnit XML artifact (test-results-musl.xml) - Test threads: 4 (parallel execution) Also updates: - .nextest.toml: Add JUnit XML output settings to profile.ci - Cross.toml: Add cross configuration for musl target Bead: pdftract-5gtcj Plan section: Phase 0.3 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
44 lines
1.2 KiB
TOML
44 lines
1.2 KiB
TOML
# Nextest configuration for pdftract
|
|
#
|
|
# This config defines test profiles for different scenarios:
|
|
# - ci: Standard CI profile for fast unit tests
|
|
# - ci-proptest: Profile for property-based tests (proptest)
|
|
#
|
|
# See https://nexte.st/book/configuration.html
|
|
|
|
[profile.ci]
|
|
# Fast CI profile for unit tests
|
|
# Reuse the default profile but with explicit test execution settings
|
|
failure-output = "immediate-final"
|
|
fail-fast = false
|
|
status-level = "all"
|
|
final-status-level = "slow"
|
|
|
|
# JUnit XML output for CI aggregation
|
|
store-success-output = true
|
|
|
|
# Slow test timeout (60 seconds per test)
|
|
slow-timeout = "60s"
|
|
|
|
# Retry once on known-flaky tests
|
|
retries = 1
|
|
|
|
[profile.ci-proptest]
|
|
# Profile for property-based tests
|
|
# Uses the ci-proptest Cargo profile (defined in .cargo/config.toml)
|
|
# which balances build speed and test execution speed
|
|
profile = "ci-proptest"
|
|
failure-output = "immediate-final"
|
|
fail-fast = false
|
|
status-level = "all"
|
|
final-status-level = "slow"
|
|
|
|
# Property tests can take longer, so we increase the timeout
|
|
test-threads = 4 # Run 4 tests in parallel for better CPU utilization
|
|
|
|
[profile.default]
|
|
# Default development profile
|
|
failure-output = "immediate-final"
|
|
fail-fast = false
|
|
status-level = "all"
|
|
final-status-level = "slow"
|