Skip to content

Merge pull request #111 from qthree/fix_tests #347

Merge pull request #111 from qthree/fix_tests

Merge pull request #111 from qthree/fix_tests #347

Workflow file for this run

name: Rust CI
on: [push, pull_request]
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Rust/Cargo Cache
uses: Swatinem/rust-cache@v2
- name: Run Check minimal f32 single threaded earcut
run: cargo check --no-default-features --features
"f32 earcut"
- name: Run Check minimal f32 parallel threaded earcut
run: cargo check --no-default-features --features
"f32 parallel earcut"
- name: Run Check minimal f32 single threaded delaunay
run: cargo check --no-default-features --features
"f32 delaunay"
- name: Run Check minimal f32 parallel threaded delaunay
run: cargo check --no-default-features --features
"f32 parallel delaunay"
- name: Run Check minimal f64 single threaded earcut
run: cargo check --no-default-features --features
"f64 earcut"
- name: Run Check minimal f32 parallel threaded earcut
run: cargo check --no-default-features --features
"f64 parallel earcut"
- name: Run Check minimal f64 single threaded delaunay
run: cargo check --no-default-features --features
"f64 delaunay"
- name: Run Check minimal f64 parallel threaded delaunay
run: cargo check --no-default-features --features
"f64 parallel delaunay"
- name: Run Check f32 single threaded earcut
run: cargo check --no-default-features --features
"f32 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f32 parallel earcut
run: cargo check --no-default-features --features
"f32 earcut parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f32 single threaded delaunay
run: cargo check --no-default-features --features
"f32 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f32 parallel delaunay
run: cargo check --no-default-features --features
"f32 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f64 single threaded earcut
run: cargo check --no-default-features --features
"f64 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f64 parallel earcut
run: cargo check --no-default-features --features
"f64 earcut parallel stl-io svg-io amf-io obj-io ply-io dxf-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f64 single threaded delaunay
run: cargo check --no-default-features --features
"f64 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Check f64 parallel delaunay
run: cargo check --no-default-features --features
"f64 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Rust/Cargo Cache
uses: Swatinem/rust-cache@v2
- name: Run Test minimal f32 single threaded earcut
run: cargo test --lib --no-default-features --features
"f32 earcut"
- name: Run Test minimal f32 parallel threaded earcut
run: cargo test --lib --no-default-features --features
"f32 parallel earcut"
- name: Run Test minimal f32 single threaded delaunay
run: cargo test --lib --no-default-features --features
"f32 delaunay"
- name: Run Test minimal f32 parallel threaded delaunay
run: cargo test --lib --no-default-features --features
"f32 parallel delaunay"
- name: Run Test minimal f64 single threaded earcut
run: cargo test --lib --no-default-features --features
"f64 earcut"
- name: Run Test minimal f32 parallel threaded earcut
run: cargo test --lib --no-default-features --features
"f64 parallel earcut"
- name: Run Test minimal f64 single threaded delaunay
run: cargo test --lib --no-default-features --features
"f64 delaunay"
- name: Run Test minimal f64 parallel threaded delaunay
run: cargo test --lib --no-default-features --features
"f64 parallel delaunay"
- name: Run Test f32 single threaded earcut
run: cargo test --lib --no-default-features --features
"f32 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f32 parallel earcut
run: cargo test --lib --no-default-features --features
"f32 earcut parallel stl-io svg-io amf-io obj-io ply-io dxf-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f32 single threaded delaunay
run: cargo test --lib --no-default-features --features
"f32 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f32 parallel delaunay
run: cargo test --lib --no-default-features --features
"f32 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f64 single threaded earcut
run: cargo test --lib --no-default-features --features
"f64 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f64 parallel earcut
run: cargo test --lib --no-default-features --features
"f64 earcut parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f64 single threaded delaunay
run: cargo test --lib --no-default-features --features
"f64 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
- name: Run Test f64 parallel delaunay
run: cargo test --lib --no-default-features --features
"f64 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
fmt:
name: Formatting
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Run Fmt
run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Rust/Cargo Cache
uses: Swatinem/rust-cache@v2
- name: Run Clippy minimal f32 single threaded earcut
run: cargo clippy --lib --no-default-features --features
"f32 earcut"
-- -D warnings
- name: Run Clippy minimal f32 parallel threaded earcut
run: cargo clippy --lib --no-default-features --features
"f32 parallel earcut"
-- -D warnings
- name: Run Clippy minimal f32 single threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f32 delaunay"
-- -D warnings
- name: Run Clippy minimal f32 parallel threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f32 parallel delaunay"
-- -D warnings
- name: Run Clippy minimal f64 single threaded earcut
run: cargo clippy --lib --no-default-features --features
"f64 earcut"
-- -D warnings
- name: Run Clippy minimal f32 parallel threaded earcut
run: cargo clippy --lib --no-default-features --features
"f64 parallel earcut"
-- -D warnings
- name: Run Clippy minimal f64 single threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f64 delaunay"
-- -D warnings
- name: Run Clippy minimal f64 parallel threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f64 parallel delaunay"
-- -D warnings
- name: Run Clippy f32 single threaded earcut
run: cargo clippy --lib --no-default-features --features
"f32 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f32 parallel earcut
run: cargo clippy --lib --no-default-features --features
"f32 earcut parallel stl-io svg-io amf-io obj-io ply-io dxf-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f32 single threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f32 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f32 parallel delaunay
run: cargo clippy --lib --no-default-features --features
"f32 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f64 single threaded earcut
run: cargo clippy --lib --no-default-features --features
"f64 earcut stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f64 parallel earcut
run: cargo clippy --lib --no-default-features --features
"f64 earcut parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f64 single threaded delaunay
run: cargo clippy --lib --no-default-features --features
"f64 delaunay stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
- name: Run Clippy f64 parallel delaunay
run: cargo clippy --lib --no-default-features --features
"f64 delaunay parallel stl-io svg-io dxf-io amf-io obj-io ply-io truetype-text hershey-text image-io chull-io metaballs sdf offset"
-- -D warnings
style:
name: Check spelling and semver
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Remove untracked files
run: git clean -df
- name: Rust/Cargo Cache
uses: Swatinem/rust-cache@v2
- name: Check semver
uses: obi1kenobi/cargo-semver-checks-action@v2
with:
package: csgrs
feature-group: only-explicit-features
features: |
f32,earcut,parallel,stl-io,svg-io,dxf-io,truetype-text,hershey-text,image-io
- name: Check spelling
run: |
if ! command -v typos >/dev/null; then
cargo install typos-cli
fi
typos