Skip to content

Merge pull request #72 from awxkee/novtb #504

Merge pull request #72 from awxkee/novtb

Merge pull request #72 from awxkee/novtb #504

Workflow file for this run

name: "Build"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'main'
- '!ci_test_*'
- 'ci_testing'
tags-ignore:
- '*'
pull_request:
branches:
- '*'
- '!ci_test_*'
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 armv7-unknown-linux-gnueabi
- run: RUSTFLAGS="-C target-feature=+neon" cargo build --target aarch64-unknown-linux-gnu --features image
- run: RUSTFLAGS="-C target-feature=+sse4.1" cargo build --target i686-unknown-linux-gnu --features image
- run: cargo build --target powerpc-unknown-linux-gnu
- run: RUSTFLAGS="-C target-feature=+avx2,+f16c" cargo build --target x86_64-unknown-linux-gnu --features image
- run: cargo build --target armv7-unknown-linux-gnueabi
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: rustup component add clippy
- run: cargo clippy --all-features -- -D warnings
clippy-wasm:
name: Clippy WASM
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: rustup target add wasm32-unknown-unknown
- run: rustup component add clippy
- run: cargo clippy --target wasm32-unknown-unknown --all-features -- -D warnings
tests_arm:
name: Tests ARM
runs-on: macos-latest
strategy:
matrix:
feature: [ neon, rdm, "" ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo test --features "${{ matrix.feature }}" --features fft --no-default-features
tests_x86_64:
name: Tests x86_64
strategy:
matrix:
feature: [ sse, avx, "" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo test --features "${{ matrix.feature }}" --features fft --no-default-features
fuzz_box_mac:
name: Fuzzing Box
runs-on: macos-latest
strategy:
matrix:
feature: [ neon, rdm, "" ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run box --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run box_u16 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run box_f32 --features "${{ matrix.feature }}" -- -max_total_time=14
fuzz_box_x86:
name: Fuzzing Box
strategy:
matrix:
feature: [ avx, sse ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run box --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run box_u16 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run box_f32 --features "${{ matrix.feature }}" -- -max_total_time=14
fuzz_filters_arm:
name: Fuzzing Filter 1D/2D ARM
runs-on: macos-latest
strategy:
matrix:
feature: [ neon, rdm ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run gauss --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run gauss_u16 --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run gauss_f32 --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run gauss_small_kernel --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run motion --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run filter_complex --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run filter_complex_q --features "${{ matrix.feature }}" -- -max_total_time=17
fuzz_filter_arm_complex:
name: Fuzzing Filter 1D/2D ARM FCMA
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run filter_complex --features neon,nightly_fcma -- -max_total_time=17
fuzz_filters_x86:
name: Fuzzing Filters 1D/2D x86
strategy:
matrix:
feature: [ "", sse, avx ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run gauss --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run gauss_u16 --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run gauss_f32 --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run gauss_small_kernel --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run motion --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run filter_complex --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run filter_complex_q --features "${{ matrix.feature }}" -- -max_total_time=17
fuzz_stack_blur:
name: Fuzzing Stack Blur
runs-on: macos-latest
strategy:
matrix:
feature: [ neon, rdm ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run stack_blur --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run stack_blur_u16 --features ${{ matrix.feature }} -- -max_total_time=17
- run: cargo fuzz run stack_blur_f32 --features ${{ matrix.feature }} -- -max_total_time=17
fuzz_stack_blur_x86:
name: Fuzzing Stack Blur
strategy:
matrix:
feature: [ sse, avx, "" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run stack_blur --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run stack_blur_u16 --features "${{ matrix.feature }}" -- -max_total_time=17
- run: cargo fuzz run stack_blur_f32 --features "${{ matrix.feature }}" -- -max_total_time=17
fuzz_fast_gaussian_blur:
name: Fuzzing Fast Gaussian Blur
runs-on: macos-latest
strategy:
matrix:
feature: [ neon, rdm ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run fast_gaussian --features ${{ matrix.feature }} -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_u16 --features ${{ matrix.feature }} -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_f32 --features ${{ matrix.feature }} -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next_u16 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next_f32 --features "${{ matrix.feature }}" -- -max_total_time=14
fuzz_fast_gaussian_blur_x86:
name: Fuzzing Fast Gaussian Blur
strategy:
matrix:
feature: [ sse, avx, "" ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run fast_gaussian --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_u16 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_f32 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next_u16 --features "${{ matrix.feature }}" -- -max_total_time=14
- run: cargo fuzz run fast_gaussian_next_f32 --features "${{ matrix.feature }}" -- -max_total_time=14