on: pull_request: push: branches: - main - 0.2.x - 0.3.x name: Continuous integration jobs: test-features-none: name: "Test Suite [Features: None]" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - run: cargo build --no-default-features - run: cargo test --no-default-features test-features-default: name: "Test Suite [Features: Default]" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - 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@v3 - uses: dtolnay/rust-toolchain@stable - run: cargo build --features serde - run: cargo test --features serde test-features-alloc: name: "Test Suite [Features: alloc]" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - run: cargo build --no-default-features --features alloc,grid - run: cargo test --no-default-features --features alloc,grid test-features-alloc-no-grid: name: "Test Suite [Features: alloc (no grid)]" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - run: cargo build --no-default-features --features alloc - run: cargo test --no-default-features --features alloc test-features-default-no-grid: name: "Test Suite [Features: std (no grid)]" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - run: cargo build --no-default-features --features std - run: cargo test --no-default-features --features std fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - 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@v3 - 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@v3 - uses: dtolnay/rust-toolchain@master with: toolchain: stable components: clippy - run: cargo doc env: RUSTDOCFLAGS: "-D warnings" markdownlint: name: Markdown Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 - name: Run Markdown Lint uses: docker://ghcr.io/github/super-linter:slim-v4 env: VALIDATE_ALL_CODEBASE: true VALIDATE_MARKDOWN: true DEFAULT_BRANCH: master