name: CI on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt - run: cargo fmt --all --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Clippy (all features) run: cargo clippy --workspace --all-features -- -D warnings - name: Clippy (no default features) run: cargo clippy --workspace --no-default-features -- -D warnings test-matrix: name: Test (${{ matrix.name }}) runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: default features flags: "" - name: all features flags: "--all-features" - name: io only flags: "--no-default-features --features io" - name: compute only flags: "--no-default-features --features compute" - name: bg only flags: "--no-default-features --features bg" steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build --workspace ${{ matrix.flags }} - name: Test run: cargo test --workspace ${{ matrix.flags }} example: name: Run example runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - run: cargo run --example main --features full docs: name: Docs check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - run: RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-deps package: name: Cargo package dry-run runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - name: Package corex-core run: cargo package -p corex-core --no-verify - name: Package corex run: cargo package -p corex --no-verify