Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add test case for guess_format function#2482

Add test case for guess_format function

Add test case for guess_format function #2482

Workflow file for this run

name:Rust CI
on:
push:
branches:[ main ]
pull_request:
branches:[ main ]
schedule:
-cron:'5 16 * * 6'
jobs:
test_features:
runs-on:ubuntu-latest
needs:["rustfmt"]# only to avoid running on broken builds
strategy:
fail-fast:false
matrix:
features:['', default, rayon, avif, bmp, dds, exr, ff, gif, hdr, ico, jpeg, png, pnm, qoi, tga, tiff, webp]
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@stable
-name:Cache Cargo Dependencies
uses:Swatinem/rust-cache@v2
with:
cache-on-failure:true
-name:build
run:cargo build -v --no-default-features --features "$FEATURES"
env:
FEATURES:${{ matrix.features }}
-name:test
run:>
cargo test -v --no-default-features --features "$FEATURES" &&
cargo doc -v --no-default-features --features "$FEATURES"
env:
FEATURES:${{ matrix.features }}
test_toolchains:
runs-on:ubuntu-latest
strategy:
fail-fast:false
matrix:
rust:["1.85.0", nightly, beta]
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
if:${{ matrix.rust == '1.85.0' }}
-name:Generate Cargo.lock with minimal-version dependencies
if:${{ matrix.rust == '1.85.0' }}
run:|
cargo -Zminimal-versions generate-lockfile
cargo update --offline num-bigint --precise 0.4.2
-uses:dtolnay/rust-toolchain@v1
with:
toolchain:${{ matrix.rust }}
-name:Cache Cargo Dependencies
uses:Swatinem/rust-cache@v2
with:
cache-on-failure:true
-name:build
run:cargo build -v
-name:test
if:${{ matrix.rust != '1.85.0' }}
run:cargo test -v && cargo doc -v
test_other_archs:
# github actions does not support 32-bit or big endian systems directly, but
# it does support QEMU. so we install qemu, then build and run the tests in
# an emulated mips system. NOTE: you can also use this approach to test for
# big endian locally.
runs-on:ubuntu-latest
needs:["rustfmt", "cargo-deny"]# only to avoid running on broken builds
strategy:
fail-fast:false
matrix:
arch:[powerpc64-unknown-linux-gnu, i686-unknown-linux-gnu]
steps:
-uses:actions/checkout@v4
-name:Install or use cached cross-rs/cross
uses:baptiste0928/cargo-install@v2
with:
crate:cross
-name:Cache Cargo Dependencies
uses:Swatinem/rust-cache@v2
with:
cache-on-failure:true
key:${{ matrix.arch }}
-name:Start Docker (required for cross-rs)
run:sudo systemctl start docker
-name:Cross-Run Tests using QEMU
run:cross test --target ${{ matrix.arch }}
test_avif_decoding:
runs-on:ubuntu-latest
needs:["rustfmt"]# only to avoid running on broken builds
steps:
-name:install-dependencies
run:sudo apt update && sudo apt install ninja-build meson nasm
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@stable
-name:build
run:cargo build -v --no-default-features --features="avif,avif-native"
env:
SYSTEM_DEPS_DAV1D_BUILD_INTERNAL:always
clippy:
runs-on:ubuntu-latest
steps:
-name:install-dependencies
run:sudo apt update && sudo apt install ninja-build meson nasm
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
with:
components:clippy
-name:Cache Clippy
uses:Swatinem/rust-cache@v2
with:
cache-on-failure:true
shared-key:cargo-check
-run:cargo clippy --all-features --all-targets -- -D warnings
env:
SYSTEM_DEPS_DAV1D_BUILD_INTERNAL:always
CLIPPY_CONF_DIR:${{ github.workspace }}# clippy is not supposed to require this, but seems to (as of 1.89)
build_fuzz_afl:
name:"Fuzz targets (afl)"
runs-on:ubuntu-latest
needs:["clippy"]# only to avoid running on broken builds
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
-name:install-deps
run:sudo apt-get -y install clang llvm
-name:Cache Cargo Registry
uses:Swatinem/rust-cache@v2
with:
cache-targets:false
cache-all-crates:true
cache-on-failure:true
-name:Install cargo-afl
run:cargo install --locked -f cargo-afl
-name:build
run:|
cd fuzz-afl
cargo check --bin reproduce_webp
cargo check --bin reproduce_pnm
cargo afl check --bin fuzz_webp
cargo afl check --bin fuzz_pnm
env:
RUSTFLAGS:""
build_fuzz_cargo-fuzz:
name:"Fuzz targets (cargo-fuzz)"
runs-on:ubuntu-latest
needs:["clippy"]# only to avoid running on broken builds
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
-name:Install cargo-fuzz
uses:baptiste0928/cargo-install@v3
with:
crate:cargo-fuzz
-name:check
run:cargo fuzz check
env:
CARGO_INCREMENTAL:0
public_private_dependencies:
runs-on:ubuntu-latest
needs:["clippy"]# only to avoid running on broken builds
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
-name:build
run:|
echo '#![deny(exported_private_dependencies)]' | cat - src/lib.rs > src/lib.rs.0
mv src/lib.rs.0 src/lib.rs
echo 'cargo-features = ["public-dependency"]' | cat - Cargo.toml > Cargo.toml.0
mv Cargo.toml.0 Cargo.toml
# mark rayon crate as public
sed -i 's/rayon = { ver/rayon = { public = true, ver/' Cargo.toml
# mark num-traits crate as public
sed -i 's/num-traits = { ver/num-traits = { public = true, ver/' Cargo.toml
# cargo +nightly check
cargo check
build_benchmarks:
runs-on:ubuntu-latest
needs:["clippy"]# only to avoid running on broken builds
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@nightly
-name:build
run:cargo build -v --benches --features=benchmarks
rustfmt:
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@v4
-uses:dtolnay/rust-toolchain@stable
with:
components:rustfmt
-name:Run rustfmt check
run:cargo fmt -- --check
cargo-deny:
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@v4
-uses:EmbarkStudios/cargo-deny-action@v2
cargo-semver-checks:
runs-on:ubuntu-latest
needs:["clippy"]
steps:
-uses:actions/checkout@v4
-name:Cache Cargo Dependencies
uses:Swatinem/rust-cache@v2
with:
cache-on-failure:true
shared-key:cargo-check
-uses:obi1kenobi/cargo-semver-checks-action@v2
with:
feature-group:default-features
release-type:major# silenced until the release of 1.0

[8]ページ先頭

©2009-2025 Movatter.jp