gstreamer-rs/.gitlab-ci.yml
2020-04-27 14:30:47 +02:00

112 lines
2.7 KiB
YAML

include:
- remote: "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/raw/master/ci/images_template.yml"
stages:
- "lint"
- "test"
- "extras"
.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
outdated:
extends: .img-stable
allow_failure: true
stage: 'extras'
only:
- schedules
script:
- cargo outdated --root-deps-only --exit-code 1 -v
deny:
extends: .img-stable
stage: 'extras'
only:
- schedules
script:
- cargo deny check