Merge pull request #72 from awxkee/novtb #504
This file contains hidden or 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' | |
- '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 |