mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-29 15:01:07 +00:00
ci: Directly use the CI images from gstreamer-rs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1280>
This commit is contained in:
parent
31b1cb8ca6
commit
d999c1d3ba
1 changed files with 39 additions and 134 deletions
173
.gitlab-ci.yml
173
.gitlab-ci.yml
|
@ -14,7 +14,7 @@ include:
|
||||||
file: '/.gitlab-image-tags.yml'
|
file: '/.gitlab-image-tags.yml'
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
FDO_UPSTREAM_REPO: gstreamer/gst-plugins-rs
|
FDO_UPSTREAM_REPO: gstreamer/gstreamer-rs
|
||||||
|
|
||||||
# We use GStreamer image to build the documentation as it is the simplest way
|
# We use GStreamer image to build the documentation as it is the simplest way
|
||||||
# to ensure that we are testing against the same thing as GStreamer itself.
|
# to ensure that we are testing against the same thing as GStreamer itself.
|
||||||
|
@ -39,7 +39,6 @@ default:
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- "trigger"
|
- "trigger"
|
||||||
- "prep"
|
|
||||||
- "lint"
|
- "lint"
|
||||||
- "test"
|
- "test"
|
||||||
- "extras"
|
- "extras"
|
||||||
|
@ -68,7 +67,9 @@ trigger:
|
||||||
|
|
||||||
.debian:12:
|
.debian:12:
|
||||||
variables:
|
variables:
|
||||||
FDO_DISTRIBUTION_VERSION: 'bookworm-slim'
|
SODIUM_USE_PKG_CONFIG: "true"
|
||||||
|
after_script:
|
||||||
|
- rm -rf target
|
||||||
before_script:
|
before_script:
|
||||||
- source ./ci/env.sh
|
- source ./ci/env.sh
|
||||||
- mkdir .cargo && echo -e "[net]\ngit-fetch-with-cli = true" > .cargo/config
|
- mkdir .cargo && echo -e "[net]\ngit-fetch-with-cli = true" > .cargo/config
|
||||||
|
@ -82,112 +83,15 @@ trigger:
|
||||||
|
|
||||||
.debian:12-stable:
|
.debian:12-stable:
|
||||||
extends: .debian:12
|
extends: .debian:12
|
||||||
variables:
|
image: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:$GST_RS_STABLE-$GST_RS_IMG_TAG"
|
||||||
FDO_DISTRIBUTION_TAG: '$GST_RS_STABLE-${GST_RS_IMG_TAG}_2023-02-20.0'
|
|
||||||
FDO_BASE_IMAGE: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:$GST_RS_STABLE-$GST_RS_IMG_TAG"
|
|
||||||
|
|
||||||
.debian:12-msrv:
|
.debian:12-msrv:
|
||||||
extends: .debian:12
|
extends: .debian:12
|
||||||
variables:
|
image: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:$GST_RS_MSRV-$GST_RS_IMG_TAG"
|
||||||
FDO_DISTRIBUTION_TAG: '$GST_RS_MSRV-${GST_RS_IMG_TAG}_2023-02-20.0'
|
|
||||||
FDO_BASE_IMAGE: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:$GST_RS_MSRV-$GST_RS_IMG_TAG"
|
|
||||||
|
|
||||||
.debian:12-nightly:
|
.debian:12-nightly:
|
||||||
extends: .debian:12
|
extends: .debian:12
|
||||||
variables:
|
image: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:nightly-$GST_RS_IMG_TAG"
|
||||||
FDO_DISTRIBUTION_TAG: 'nightly-${GST_RS_IMG_TAG}_2023-02-20.0'
|
|
||||||
FDO_BASE_IMAGE: "registry.freedesktop.org/gstreamer/gstreamer-rs/debian/bookworm-slim:nightly-$GST_RS_IMG_TAG"
|
|
||||||
|
|
||||||
.build-debian-container:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
stage: prep
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_PACKAGES: "libcsound64-dev llvm clang nasm libsodium-dev libwebp-dev python3-pip"
|
|
||||||
FDO_DISTRIBUTION_EXEC: >-
|
|
||||||
bash ci/install-dav1d.sh &&
|
|
||||||
apt clean &&
|
|
||||||
bash ./ci/install-rust-ext.sh &&
|
|
||||||
pip install tomli --break-system-packages
|
|
||||||
needs:
|
|
||||||
- "trigger"
|
|
||||||
rules:
|
|
||||||
- if: '$UPDATE_IMG == null'
|
|
||||||
|
|
||||||
build-stable:
|
|
||||||
extends:
|
|
||||||
- .build-debian-container
|
|
||||||
- .debian:12-stable
|
|
||||||
|
|
||||||
build-msrv:
|
|
||||||
extends:
|
|
||||||
- .build-debian-container
|
|
||||||
- .debian:12-msrv
|
|
||||||
|
|
||||||
build-nightly:
|
|
||||||
extends:
|
|
||||||
- .build-debian-container
|
|
||||||
- .debian:12-nightly
|
|
||||||
|
|
||||||
# Those jobs are triggered by gstreamer-rs when updating its images
|
|
||||||
update-stable:
|
|
||||||
extends: build-stable
|
|
||||||
rules:
|
|
||||||
- if: '$UPDATE_IMG == "stable"'
|
|
||||||
variables:
|
|
||||||
FDO_FORCE_REBUILD: 1
|
|
||||||
|
|
||||||
update-msrv:
|
|
||||||
extends: build-msrv
|
|
||||||
rules:
|
|
||||||
- if: '$UPDATE_IMG == "msrv"'
|
|
||||||
variables:
|
|
||||||
FDO_FORCE_REBUILD: 1
|
|
||||||
|
|
||||||
update-nightly:
|
|
||||||
extends: build-nightly
|
|
||||||
rules:
|
|
||||||
- if: '$UPDATE_IMG == "nightly"'
|
|
||||||
variables:
|
|
||||||
FDO_FORCE_REBUILD: 1
|
|
||||||
|
|
||||||
.dist-debian-container:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@debian
|
|
||||||
variables:
|
|
||||||
SODIUM_USE_PKG_CONFIG: "true"
|
|
||||||
after_script:
|
|
||||||
- rm -rf target
|
|
||||||
|
|
||||||
.img-stable:
|
|
||||||
extends:
|
|
||||||
- .dist-debian-container
|
|
||||||
- .debian:12-stable
|
|
||||||
needs:
|
|
||||||
- job: 'build-stable'
|
|
||||||
optional: true
|
|
||||||
- job: 'update-stable'
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.img-msrv:
|
|
||||||
extends:
|
|
||||||
- .dist-debian-container
|
|
||||||
- .debian:12-msrv
|
|
||||||
needs:
|
|
||||||
- job: 'build-msrv'
|
|
||||||
optional: true
|
|
||||||
- job: 'update-msrv'
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.img-nightly:
|
|
||||||
extends:
|
|
||||||
- .dist-debian-container
|
|
||||||
- .debian:12-nightly
|
|
||||||
needs:
|
|
||||||
- job: 'build-nightly'
|
|
||||||
optional: true
|
|
||||||
- job: 'update-nightly'
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.cargo test:
|
.cargo test:
|
||||||
stage: "test"
|
stage: "test"
|
||||||
|
@ -208,35 +112,31 @@ update-nightly:
|
||||||
test msrv:
|
test msrv:
|
||||||
extends:
|
extends:
|
||||||
- '.cargo test'
|
- '.cargo test'
|
||||||
- .img-msrv
|
- '.debian:12-msrv'
|
||||||
rules:
|
needs: [ "trigger" ]
|
||||||
- if: '$UPDATE_IMG == null || $UPDATE_IMG == "msrv"'
|
|
||||||
|
|
||||||
test stable:
|
test stable:
|
||||||
extends:
|
extends:
|
||||||
- '.cargo test'
|
- '.cargo test'
|
||||||
- .img-stable
|
- '.debian:12-stable'
|
||||||
rules:
|
needs: [ "trigger" ]
|
||||||
- if: '$UPDATE_IMG == null || $UPDATE_IMG == "stable"'
|
|
||||||
|
|
||||||
test nightly:
|
test nightly:
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
extends:
|
extends:
|
||||||
- '.cargo test'
|
- '.cargo test'
|
||||||
- .img-nightly
|
- '.debian:12-nightly'
|
||||||
rules:
|
needs: [ "trigger" ]
|
||||||
- if: '$UPDATE_IMG == null || $UPDATE_IMG == "nightly"'
|
|
||||||
|
|
||||||
.meson:
|
.meson:
|
||||||
extends: .img-stable
|
extends: .debian:12-stable
|
||||||
rules:
|
|
||||||
- if: '$UPDATE_IMG == null || $UPDATE_IMG == "stable"'
|
|
||||||
variables:
|
variables:
|
||||||
# csound-sys only looks at /usr/lib and /usr/local top levels
|
# csound-sys only looks at /usr/lib and /usr/local top levels
|
||||||
CSOUND_LIB_DIR: '/usr/lib/x86_64-linux-gnu/'
|
CSOUND_LIB_DIR: '/usr/lib/x86_64-linux-gnu/'
|
||||||
|
|
||||||
meson shared:
|
meson shared:
|
||||||
extends: .meson
|
extends: .meson
|
||||||
|
needs: [ "trigger" ]
|
||||||
variables:
|
variables:
|
||||||
CI_ARTIFACTS_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/"
|
CI_ARTIFACTS_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/"
|
||||||
script:
|
script:
|
||||||
|
@ -254,6 +154,7 @@ meson shared:
|
||||||
|
|
||||||
meson static:
|
meson static:
|
||||||
extends: .meson
|
extends: .meson
|
||||||
|
needs: [ "trigger" ]
|
||||||
script:
|
script:
|
||||||
- meson build --default-library=static --prefix=$(pwd)/install -Dsodium-source=built-in
|
- meson build --default-library=static --prefix=$(pwd)/install -Dsodium-source=built-in
|
||||||
- ninja -C build install
|
- ninja -C build install
|
||||||
|
@ -391,63 +292,66 @@ test windows stable:
|
||||||
image: "$WINDOWS_RUST_STABLE_IMAGE"
|
image: "$WINDOWS_RUST_STABLE_IMAGE"
|
||||||
|
|
||||||
rustfmt:
|
rustfmt:
|
||||||
extends: .img-stable
|
extends: '.debian:12-stable'
|
||||||
stage: "lint"
|
stage: "lint"
|
||||||
rules:
|
needs: []
|
||||||
- when: 'always'
|
|
||||||
script:
|
script:
|
||||||
- cargo fmt --version
|
- cargo fmt --version
|
||||||
- cargo fmt -- --color=always --check
|
- cargo fmt -- --color=always --check
|
||||||
|
|
||||||
typos:
|
typos:
|
||||||
extends: .img-stable
|
extends: '.debian:12-stable'
|
||||||
stage: "lint"
|
stage: "lint"
|
||||||
rules:
|
needs: []
|
||||||
- when: 'always'
|
|
||||||
script:
|
script:
|
||||||
- typos
|
- typos
|
||||||
|
|
||||||
gstwebrtc-api lint:
|
gstwebrtc-api lint:
|
||||||
image: node:lts
|
image: node:lts
|
||||||
stage: "lint"
|
stage: "lint"
|
||||||
rules:
|
needs: []
|
||||||
- when: 'always'
|
|
||||||
script:
|
script:
|
||||||
- cd net/webrtc/gstwebrtc-api
|
- cd net/webrtc/gstwebrtc-api
|
||||||
- npm install
|
- npm install
|
||||||
- npm run check
|
- npm run check
|
||||||
|
|
||||||
check commits:
|
check commits:
|
||||||
extends: .img-stable
|
extends: '.debian:12-stable'
|
||||||
stage: "lint"
|
stage: "lint"
|
||||||
rules:
|
needs: []
|
||||||
- when: 'always'
|
|
||||||
script:
|
script:
|
||||||
- ci-fairy check-commits --textwidth 0 --no-signed-off-by
|
- ci-fairy check-commits --textwidth 0 --no-signed-off-by
|
||||||
- ci/check-for-symlinks.sh
|
- ci/check-for-symlinks.sh
|
||||||
|
|
||||||
clippy:
|
clippy:
|
||||||
extends: .img-stable
|
extends: '.debian:12-stable'
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "test stable"
|
||||||
stage: 'extras'
|
stage: 'extras'
|
||||||
variables:
|
variables:
|
||||||
# csound-sys only looks at /usr/lib and /usr/local top levels
|
# csound-sys only looks at /usr/lib and /usr/local top levels
|
||||||
CSOUND_LIB_DIR: '/usr/lib/x86_64-linux-gnu/'
|
CSOUND_LIB_DIR: '/usr/lib/x86_64-linux-gnu/'
|
||||||
rules:
|
|
||||||
- when: 'always'
|
|
||||||
script:
|
script:
|
||||||
- cargo clippy --locked --color=always --all --all-features --all-targets -- -D warnings -A unknown-lints
|
- cargo clippy --locked --color=always --all --all-features --all-targets -- -D warnings -A unknown-lints
|
||||||
|
|
||||||
deny:
|
deny:
|
||||||
extends: .img-stable
|
extends: .debian:12-stable
|
||||||
stage: 'extras'
|
stage: 'extras'
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "test stable"
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||||
script:
|
script:
|
||||||
- cargo deny check
|
- cargo deny check
|
||||||
|
|
||||||
outdated:
|
outdated:
|
||||||
extends: .img-stable
|
extends: '.debian:12-stable'
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "test stable"
|
||||||
stage: 'extras'
|
stage: 'extras'
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||||
|
@ -457,10 +361,11 @@ outdated:
|
||||||
coverage:
|
coverage:
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
extends:
|
extends:
|
||||||
- .img-stable
|
- '.debian:12-stable'
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "test stable"
|
||||||
stage: 'extras'
|
stage: 'extras'
|
||||||
rules:
|
|
||||||
- when: 'always'
|
|
||||||
variables:
|
variables:
|
||||||
RUSTFLAGS: "-Cinstrument-coverage"
|
RUSTFLAGS: "-Cinstrument-coverage"
|
||||||
LLVM_PROFILE_FILE: "gst-plugins-rs-%p-%m.profraw"
|
LLVM_PROFILE_FILE: "gst-plugins-rs-%p-%m.profraw"
|
||||||
|
|
Loading…
Reference in a new issue