Skip to content

feat!: rework clipline #4

feat!: rework clipline

feat!: rework clipline #4

Workflow file for this run

name: CI
on:
workflow_dispatch:
merge_group:
pull_request:
paths-ignore:
- "img/**"
- "**.md"
- LICENSE-APACHE
- LICENSE-MIT
- .gitignore
push:
branches: [ main ]
paths-ignore:
- "img/**"
- "**.md"
- LICENSE-APACHE
- LICENSE-MIT
- .gitignore
env:
CARGO_TERM_COLOR: always
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
name: cargo build
runs-on: ubuntu-latest
strategy:
matrix:
rust: [ stable, beta, nightly ]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Default features
run: cargo build --all-targets
- name: All stable features
run: cargo build --all-targets -F "bresenham bresenham_diagonals double_ended kuzmin"
- name: Nightly features
if: matrix.rust == 'nightly'
run: cargo build --all-targets -F "nightly try_fold is_empty"
- name: All features
if: matrix.rust == 'nightly'
run: cargo build --all-targets --all-features
check-cfg:
name: cargo check-cfg
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Dwarnings
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- run: cargo +nightly check -Zcheck-cfg
clippy:
name: cargo clippy
runs-on: ubuntu-latest
strategy:
matrix:
rust: [ stable, beta, nightly ]
env:
RUSTFLAGS: -Dwarnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: clippy
- run: cargo clippy --all-targets
- run: cargo clippy --all-targets -F bresenham,bresenham_diagonals,double_ended,kuzmin
- if: matrix.rust == 'nightly'
run: cargo clippy --all-targets --all-features
fmt:
name: cargo fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
doc:
name: cargo rustdoc
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: -Dwarnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: dtolnay/install@cargo-docs-rs
- run: cargo docs-rs
test:
name: cargo test
runs-on: ubuntu-latest
strategy:
matrix:
rust: [ stable, beta, nightly ]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Default features
run: cargo test --no-fail-fast
- name: All stable features
run: cargo test --no-fail-fast -F bresenham,bresenham_diagonals,double_ended,kuzmin
- name: Nightly features
if: matrix.rust == 'nightly'
run: cargo test --no-fail-fast -F "nightly try_fold is_empty"
- name: All stable and nightly features
if: matrix.rust == 'nightly'
run: cargo test --no-fail-fast --all-features