Replace per-node measure functions with a single measure function + per-node context #1864
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: | |
pull_request: | |
push: | |
branches: | |
- main | |
- 0.2.x | |
- 0.3.x | |
name: Continuous integration | |
env: | |
RUSTDOCFLAGS: "-D warnings" | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: "sparse" | |
jobs: | |
# None | |
test-features-none: | |
name: "Test Suite [Features: None]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features | |
- run: cargo test --no-default-features --features taffy_tree | |
# MSRV check. | |
# Taffy only guarantees "latest stable". However we have this check here to ensure that we advertise | |
# our MSRV. We also make an effort not to increase MSRV in patch versions of Taffy. | |
test-features-msrv: | |
name: "Test Suite [Features: Default] (Rust 1.65)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.65 | |
- run: cargo build | |
- run: cargo test | |
# Default | |
test-features-default: | |
name: "Test Suite [Features: Default]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build | |
- run: cargo test | |
test-features-default-with-serde: | |
name: "Test Suite [Features: Default + serde]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --features serde | |
- run: cargo test --features serde | |
test-features-no-grid-nor-flexbox: | |
name: "Test Suite [Features: std (no grid or flexbox)]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features std | |
- run: cargo build --no-default-features --features std,taffy_tree | |
- run: cargo test --no-default-features --features std,taffy_tree | |
# Flexbox | |
test-features-flexbox: | |
name: "Test Suite [Features: flexbox + std]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features flexbox,std | |
- run: cargo build --no-default-features --features flexbox,std,taffy_tree | |
- run: cargo test --no-default-features --features flexbox,std,taffy_tree | |
# Grid | |
test-features-grid: | |
name: "Test Suite [Features: grid + std]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features grid,std | |
- run: cargo build --no-default-features --features grid,std,taffy_tree | |
- run: cargo test --no-default-features --features grid,std,taffy_tree | |
test-features-grid-with-alloc: | |
name: "Test Suite [Features: grid + alloc]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features alloc,grid | |
- run: cargo build --no-default-features --features alloc,grid,taffy_tree | |
- run: cargo test --no-default-features --features alloc,grid,taffy_tree | |
test-features-alloc: | |
name: "Test Suite [Features: alloc]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features alloc | |
- run: cargo build --no-default-features --features alloc,taffy_tree | |
- run: cargo test --no-default-features --features alloc,taffy_tree | |
test-features-default-no-grid: | |
name: "Test Suite [Features: std (no grid)]" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo build --no-default-features --features std | |
- run: cargo build --no-default-features --features std,taffy_tree | |
- run: cargo test --no-default-features --features std,taffy_tree | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly | |
components: clippy | |
- run: cargo +nightly clippy --workspace -- -D warnings | |
doc: | |
name: Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
components: clippy | |
- run: cargo doc | |
markdownlint: | |
name: Markdown Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Markdown Lint | |
uses: DavidAnson/markdownlint-cli2-action@v13 | |
with: | |
globs: '**/*.md' | |
fixture-format: | |
name: Test Fixture Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run format script | |
run: cargo format-fixtures | |
- name: Ensure no changes | |
run: | | |
if [ -z "$(git status --porcelain)" ]; then | |
echo "Fixtures formatted correctly" | |
else | |
git status && echo -e "\nTest fixtures are not formatted correctly. Please run 'cargo format-fixtures'" | |
exit 1 | |
fi | |
benchmarks: | |
name: Build Benchmarks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo xbench --no-run | |
name: Build benchmarks | |
env: | |
RUSTFLAGS: "-C opt-level=0" | |
benchmarks-with-yoga: | |
name: Build Benchmarks (w/ yoga) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo xbench --no-run --features yoga | |
name: Build benchmarks (w/yoga) | |
env: | |
RUSTFLAGS: "-C opt-level=0" |