Reworking f16 #378
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
name: Build | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- 'master' | |
- '!ci_test_*' | |
tags-ignore: | |
- '*' | |
pull_request: | |
branches: | |
- 'master' | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- run: rustup target add aarch64-unknown-linux-gnu x86_64-unknown-linux-gnu i686-unknown-linux-gnu powerpc-unknown-linux-gnu riscv64gc-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+neon,-fp16" cargo build --target aarch64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+neon,+fp16" cargo +nightly build --target aarch64-unknown-linux-gnu --features nightly_f16 | |
- run: RUSTFLAGS="-C target-feature=+sse4.1" cargo build --target i686-unknown-linux-gnu | |
- run: cargo build --target powerpc-unknown-linux-gnu | |
- run: cargo build --target riscv64gc-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+sse4.1" cargo build --target x86_64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+sse4.1,+f16c" cargo +nightly build --features nightly_f16 --target x86_64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+avx2,+f16c" cargo +nightly build --features nightly_f16 --target x86_64-unknown-linux-gnu | |
- run: RUSTFLAGS="-C target-feature=+avx2" cargo build --target x86_64-unknown-linux-gnu | |
clippy: | |
name: Clippy | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo clippy -- -D warnings | |
clippy_nightly: | |
name: Clippy Nightly | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo clippy --all-features -- -D warnings | |
tests: | |
name: Testing | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo test | |
fuzz_rgba_8bit: | |
name: Fuzzing 8bit | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run resize_rgba -- -max_total_time=30 | |
- run: cargo fuzz run resize_rgb -- -max_total_time=30 | |
- run: cargo fuzz run resize_cbcr8 -- -max_total_time=30 | |
- run: cargo fuzz run resize_plane -- -max_total_time=30 | |
- run: cargo fuzz run colorspaces -- -max_total_time=10 | |
fuzz_rgba_8bit_no_rdm: | |
name: Fuzzing 8bit wo RDM | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run resize_rgba --no-default-features -- -max_total_time=30 | |
- run: cargo fuzz run resize_rgb --no-default-features -- -max_total_time=30 | |
- run: cargo fuzz run resize_cbcr8 --no-default-features -- -max_total_time=30 | |
- run: cargo fuzz run resize_plane --no-default-features -- -max_total_time=30 | |
fuzz_rgba_high_bit: | |
name: Fuzzing High bit-depth | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run resize_rgba_u16 -- -max_total_time=30 | |
- run: cargo fuzz run resize_rgba_f16 -- -max_total_time=30 | |
- run: cargo fuzz run resize_rgb_u16 -- -max_total_time=30 | |
- run: cargo fuzz run resize_cbcr16 -- -max_total_time=30 | |
- run: cargo fuzz run resize_plane_u16 -- -max_total_time=30 | |
fuzz_rgba_f32: | |
name: Fuzzing floating point | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo install cargo-fuzz | |
- run: cargo fuzz run resize_rgba_f32 -- -max_total_time=30 | |
- run: cargo fuzz run resize_rgb_f32 -- -max_total_time=30 | |
- run: cargo fuzz run resize_cbcr_f32 -- -max_total_time=30 | |
- run: cargo fuzz run resize_plane_f32 -- -max_total_time=30 |