include: - remote: "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/raw/master/ci/images_template.yml" stages: - "lint" - "test" .base: image: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/10:$RUST_VERSION-$GST_RS_IMG_TAG" variables: # Only stuff inside the repo directory can be cached # Override the CARGO_HOME variable to force its location CARGO_HOME: "${CI_PROJECT_DIR}/.cargo_home" G_DEBUG: "fatal_warnings" before_script: - source ./ci/env.sh - mkdir .cargo && echo -e "[net]\ngit-fetch-with-cli = true" > .cargo/config cache: key: "gst" paths: - "${CARGO_HOME}" .img-stable: extends: .base variables: RUST_VERSION: "stable" .img-1-40: extends: .base variables: RUST_VERSION: "1.40.0" .img-nightly: extends: .base variables: RUST_VERSION: "nightly" .cargo test: stage: "test" script: - rustc --version - cargo --version - cargo build --all --color=always # FIXME: tests are broken # https://github.com/sdroege/gstreamer-sys/issues/16 # - cargo test --all --color=always - cargo build --all --all-features --color=always # FIXME: tests are broken # https://github.com/sdroege/gstreamer-sys/issues/16 # - cargo test --all --all-features --color=always # Run tests for crates we can currently run. The others # need a new release of the C library first - | for crate in gstreamer-app-sys \ gstreamer-audio-sys \ gstreamer-base-sys \ gstreamer-check-sys \ gstreamer-gl-sys \ gstreamer-mpegts-sys \ gstreamer-net-sys \ gstreamer-pbutils-sys \ gstreamer-player-sys \ gstreamer-rtsp-sys \ gstreamer-sdp-sys \ gstreamer-sys \ gstreamer-tag-sys \ gstreamer-video-sys \ gstreamer-webrtc-sys; \ do \ cargo test -p $crate; \ done test stable: extends: - '.cargo test' - .img-stable test 1.40: extends: - '.cargo test' - .img-1-40 test nightly: extends: - '.cargo test' - .img-nightly rustfmt: extends: .img-stable stage: "lint" script: - cargo fmt --version - cargo fmt -- --color=always --check