mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-12-22 08:07:07 +00:00
ci: Pass RUST_VERSION to scripts and refactor cargo/cargo nextest flags handling a bit
And also pass `-jN` to clippy. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1619>
This commit is contained in:
parent
083c5bdd5c
commit
52e5e47ef5
5 changed files with 25 additions and 12 deletions
|
@ -118,18 +118,21 @@ trigger:
|
|||
extends: .debian:12
|
||||
variables:
|
||||
RUST_IMAGE_FULL: "1"
|
||||
RUST_VERSION: '$GST_RS_STABLE'
|
||||
FDO_DISTRIBUTION_TAG: '$GST_RS_STABLE-$GST_RS_IMG_TAG'
|
||||
FDO_DISTRIBUTION_EXEC: 'bash ci/install-rust.sh $GST_RS_STABLE $RUST_IMAGE_FULL'
|
||||
|
||||
.debian:12-msrv:
|
||||
extends: .debian:12
|
||||
variables:
|
||||
RUST_VERSION: '$GST_RS_MSRV'
|
||||
FDO_DISTRIBUTION_TAG: '$GST_RS_MSRV-$GST_RS_IMG_TAG'
|
||||
FDO_DISTRIBUTION_EXEC: 'bash ci/install-rust.sh $GST_RS_MSRV $RUST_IMAGE_FULL'
|
||||
|
||||
.debian:12-nightly:
|
||||
extends: .debian:12
|
||||
variables:
|
||||
RUST_VERSION: 'nightly'
|
||||
FDO_DISTRIBUTION_TAG: 'nightly-$GST_RS_IMG_TAG'
|
||||
FDO_DISTRIBUTION_EXEC: 'bash ci/install-rust.sh nightly $RUST_IMAGE_FULL'
|
||||
|
||||
|
@ -615,6 +618,8 @@ test windows msrv:
|
|||
- job: 'windows rust docker msrv'
|
||||
artifacts: false
|
||||
extends: '.msvc2019 build'
|
||||
variables:
|
||||
RUST_VERSION: !reference [variables, "GST_RS_MSRV"]
|
||||
|
||||
test windows stable:
|
||||
needs:
|
||||
|
@ -624,3 +629,5 @@ test windows stable:
|
|||
artifacts: false
|
||||
image: "$WINDOWS_RUST_STABLE_IMAGE"
|
||||
extends: '.msvc2019 build'
|
||||
variables:
|
||||
RUST_VERSION: !reference [variables, "GST_RS_STABLE"]
|
||||
|
|
|
@ -6,7 +6,8 @@ rustc --version
|
|||
cargo --version
|
||||
|
||||
cpus=$(nproc || sysctl -n hw.ncpu)
|
||||
CARGO_FLAGS="-j${FDO_CI_CONCURRENT:-$cpus}"
|
||||
CARGO_FLAGS="--color=always -j${FDO_CI_CONCURRENT:-$cpus}"
|
||||
CARGO_NEXTEST_FLAGS="--profile=ci --no-tests=pass"
|
||||
|
||||
parent="${CI_PROJECT_DIR:-$(pwd)}"
|
||||
|
||||
|
@ -20,8 +21,8 @@ for crate in gstreamer* gstreamer-gl/{egl,wayland,x11}; do
|
|||
|
||||
echo "Building and testing $crate with $FEATURES"
|
||||
|
||||
cargo build $CARGO_FLAGS --locked --color=always --manifest-path "$crate/Cargo.toml" $FEATURES
|
||||
RUST_BACKTRACE=1 G_DEBUG=fatal_warnings cargo nextest run --profile=ci --no-tests=pass $CARGO_FLAGS --color=always --manifest-path "$crate/Cargo.toml" $FEATURES
|
||||
cargo build $CARGO_FLAGS --locked --manifest-path "$crate/Cargo.toml" $FEATURES
|
||||
RUST_BACKTRACE=1 G_DEBUG=fatal_warnings cargo nextest run $CARGO_NEXTEST_FLAGS $CARGO_FLAGS --locked --manifest-path "$crate/Cargo.toml" $FEATURES
|
||||
|
||||
new_report_dir="$parent/junit_reports/$crate"
|
||||
mkdir -p "$new_report_dir"
|
||||
|
@ -34,6 +35,6 @@ if [ -n "$EXAMPLES_TUTORIALS" ]; then
|
|||
# List all features except windows/win32
|
||||
EXAMPLES_FEATURES="--features=rtsp-server,rtsp-server-record,pango-cairo,overlay-composition,gl,gst-gl-x11,gst-gl-egl,allocators,gst-play,gst-player,ges,image,cairo-rs,gst-video/v1_18"
|
||||
|
||||
cargo build $CARGO_FLAGS --locked --color=always --manifest-path examples/Cargo.toml --bins --examples "$EXAMPLES_FEATURES"
|
||||
cargo build $CARGO_FLAGS --locked --color=always --manifest-path tutorials/Cargo.toml --bins --examples --all-features
|
||||
cargo build $CARGO_FLAGS --locked --manifest-path examples/Cargo.toml --bins --examples "$EXAMPLES_FEATURES"
|
||||
cargo build $CARGO_FLAGS --locked --manifest-path tutorials/Cargo.toml --bins --examples --all-features
|
||||
fi
|
||||
|
|
|
@ -6,6 +6,9 @@ rustc --version
|
|||
cargo --version
|
||||
cargo clippy --version
|
||||
|
||||
cpus=$(nproc || sysctl -n hw.ncpu)
|
||||
CARGO_FLAGS="--color=always -j${FDO_CI_CONCURRENT:-$cpus}"
|
||||
|
||||
# Keep features in sync with run-cargo-test.sh
|
||||
get_features() {
|
||||
crate=$1
|
||||
|
@ -25,7 +28,7 @@ for crate in gstreamer* gstreamer-gl/{egl,wayland,x11}; do
|
|||
|
||||
echo "Running clippy on $crate with $FEATURES"
|
||||
|
||||
cargo clippy --locked --color=always --manifest-path "$crate/Cargo.toml" $FEATURES --all-targets -- $CLIPPY_LINTS
|
||||
cargo clippy $CARGO_FLAGS --locked --manifest-path "$crate/Cargo.toml" $FEATURES --all-targets -- $CLIPPY_LINTS
|
||||
fi
|
||||
done
|
||||
|
||||
|
@ -34,5 +37,5 @@ done
|
|||
EXAMPLES_FEATURES="--features=rtsp-server,rtsp-server-record,pango-cairo,overlay-composition,gl,gst-gl-x11,gst-gl-egl,allocators,gst-play,gst-player,ges,image,cairo-rs,gst-video/v1_18"
|
||||
|
||||
# And also run over all the examples/tutorials
|
||||
cargo clippy --locked --color=always --manifest-path examples/Cargo.toml --all-targets "$EXAMPLES_FEATURES" -- $CLIPPY_LINTS
|
||||
cargo clippy --locked --color=always --manifest-path tutorials/Cargo.toml --all-targets --all-features -- $CLIPPY_LINTS
|
||||
cargo clippy $CARGO_FLAGS --locked --manifest-path examples/Cargo.toml --all-targets "$EXAMPLES_FEATURES" -- $CLIPPY_LINTS
|
||||
cargo clippy $CARGO_FLAGS --locked --manifest-path tutorials/Cargo.toml --all-targets --all-features -- $CLIPPY_LINTS
|
||||
|
|
|
@ -6,14 +6,15 @@ rustc --version
|
|||
cargo --version
|
||||
|
||||
cpus=$(nproc || sysctl -n hw.ncpu)
|
||||
CARGO_FLAGS="-j${FDO_CI_CONCURRENT:-$cpus}"
|
||||
CARGO_FLAGS="--color=always -j${FDO_CI_CONCURRENT:-$cpus}"
|
||||
CARGO_NEXTEST_FLAGS="--profile=ci --no-tests=pass"
|
||||
|
||||
parent="${CI_PROJECT_DIR:-$(pwd)}"
|
||||
|
||||
for crate in gstreamer*/sys gstreamer-gl/*/sys; do
|
||||
if [ -e "$crate/Cargo.toml" ]; then
|
||||
echo "Building $crate with --all-features"
|
||||
cargo build $CARGO_FLAGS --locked --color=always --manifest-path "$crate/Cargo.toml" --all-features
|
||||
cargo build $CARGO_FLAGS --locked --manifest-path "$crate/Cargo.toml" --all-features
|
||||
fi
|
||||
done
|
||||
|
||||
|
@ -44,7 +45,7 @@ for crate in gstreamer/sys \
|
|||
gstreamer-video/sys \
|
||||
gstreamer-webrtc/sys; do
|
||||
echo "Testing $crate with --all-features)"
|
||||
RUST_BACKTRACE=1 cargo nextest run --profile ci --no-tests=pass $CARGO_FLAGS --locked --color=always --manifest-path $crate/Cargo.toml --all-features
|
||||
RUST_BACKTRACE=1 cargo nextest run $CARGO_NEXTEST_FLAGS $CARGO_FLAGS --locked --manifest-path $crate/Cargo.toml --all-features
|
||||
|
||||
new_report_dir="$parent/junit_reports/$crate"
|
||||
mkdir -p "$new_report_dir"
|
||||
|
|
|
@ -52,6 +52,7 @@ else
|
|||
}
|
||||
Write-Host "Build Jobs: $ncpus"
|
||||
$cargo_opts = @("--color=always", "--jobs=$ncpus")
|
||||
$cargo_nextest_opts=@("--profile=ci", "--no-fail-fast", "--no-tests=pass")
|
||||
|
||||
function Move-Junit {
|
||||
param (
|
||||
|
@ -125,7 +126,7 @@ foreach($features in $features_matrix) {
|
|||
|
||||
$env:G_DEBUG="fatal_warnings"
|
||||
$env:RUST_BACKTRACE="1"
|
||||
cargo nextest run --profile=ci --no-fail-fast --no-tests=pass $cargo_opts --manifest-path $crate/Cargo.toml $env:LocalFeatures
|
||||
cargo nextest run $cargo_nextest_opts $cargo_opts --manifest-path $crate/Cargo.toml $env:LocalFeatures
|
||||
if (!$?) {
|
||||
Write-Host "Tests failed to for crate: $crate"
|
||||
Exit 1
|
||||
|
|
Loading…
Reference in a new issue