-
-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (120 loc) · 4.69 KB
/
build_push.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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@nightly
- run: rustup component add clippy
- 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=15
- run: cargo fuzz run resize_rgb -- -max_total_time=15
- run: cargo fuzz run resize_cbcr8 -- -max_total_time=15
- run: cargo fuzz run resize_plane -- -max_total_time=15
- 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=15
- run: cargo fuzz run resize_rgb --no-default-features -- -max_total_time=15
- run: cargo fuzz run resize_cbcr8 --no-default-features -- -max_total_time=15
- run: cargo fuzz run resize_plane --no-default-features -- -max_total_time=15
- run: cargo fuzz run resize_rgba_u16 -- -max_total_time=15
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=15
- run: cargo fuzz run resize_rgba_f16 -- -max_total_time=15
- run: cargo fuzz run resize_rgb_u16 -- -max_total_time=15
- run: cargo fuzz run resize_rgb_f16 -- -max_total_time=15
- run: cargo fuzz run resize_cbcr16 -- -max_total_time=15
- run: cargo fuzz run resize_cbcr_f16 -- -max_total_time=15
- run: cargo fuzz run resize_plane_u16 -- -max_total_time=15
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=15
- run: cargo fuzz run resize_rgb_f32 -- -max_total_time=15
- run: cargo fuzz run resize_cbcr_f32 -- -max_total_time=15
- run: cargo fuzz run resize_plane_f32 -- -max_total_time=15