These are moved now into gstreamer-rs repository.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395>
FEDORA_AMD64_SUFFIX: 'amd64/fedora'
INDENT_AMD64_SUFFIX: 'amd64/gst-indent'
WINDOWS_AMD64_SUFFIX: 'amd64/windows'
- WINDOWS_RUST_AMD64_SUFFIX: 'amd64/windows-rust'
FEDORA_DOCS_IMAGE: "registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora:2020-07-03.0-master"
WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/$WINDOWS_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH"
WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$GST_UPSTREAM_REPO/$WINDOWS_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH"
- RUST_MINIMUM_VERSION: '1.57.0'
- RUST_LATEST_VERSION: '1.60.0'
-
- WINDOWS_RUST_MINIMUM_IMAGE: "$CI_REGISTRY_IMAGE/$WINDOWS_RUST_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH-rust-$RUST_MINIMUM_VERSION"
- WINDOWS_RUST_MINIMUM_UPSTREAM_IMAGE: "$CI_REGISTRY/$GST_UPSTREAM_REPO/$WINDOWS_RUST_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH-rust-$RUST_MINIMUM_VERSION"
-
- WINDOWS_RUST_LATEST_IMAGE: "$CI_REGISTRY_IMAGE/$WINDOWS_RUST_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH-rust-$RUST_LATEST_VERSION"
- WINDOWS_RUST_LATEST_UPSTREAM_IMAGE: "$CI_REGISTRY/$GST_UPSTREAM_REPO/$WINDOWS_RUST_AMD64_SUFFIX:$WINDOWS_TAG-$GST_UPSTREAM_BRANCH-rust-$RUST_LATEST_VERSION"
-
MESON_BUILDTYPE_ARGS: --default-library=both
DEFAULT_MESON_ARGS: >
-Dlibnice:tests=disabled
Exit 1
}
-.windows rust docker build:
- stage: 'build docker'
- needs:
- - job: 'windows amd64 docker'
- artifacts: false
- variables:
- # Unlike the buildah/linux jobs, this file
- # needs to be relative to docker/windows/ subdir
- # as it makes life easier in the powershell script
- #
- # We also don't need a CONTEXT_DIR var as its also
- # hardcoded to be docker/windows/
- DOCKERFILE: 'ci/docker/windows/rust.Dockerfile'
- tags:
- - 'windows'
- - 'shell'
- - '2022'
- script:
- # We need to pass an array and to resolve the env vars, so we can't use a variable:
- - $DOCKER_BUILD_ARGS = @("--build-arg", "DEFAULT_BRANCH=$GST_UPSTREAM_BRANCH", "--build-arg", "BASE_IMAGE=$WINDOWS_IMAGE", "--build-arg", "RUST_VERSION=$RUST_VERSION")
-
- - "& ci/docker/windows/container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $RUST_IMAGE $RUST_UPSTREAM_IMAGE $DOCKERFILE"
- - |
- if (!($?)) {
- echo "Failed to build the image"
- Exit 1
- }
-
-windows rust amd64 docker latest stable:
- extends: '.windows rust docker build'
- variables:
- RUST_IMAGE: !reference [variables, "WINDOWS_RUST_LATEST_IMAGE"]
- RUST_UPSTREAM_IMAGE: !reference [variables, "WINDOWS_RUST_LATEST_UPSTREAM_IMAGE"]
- RUST_VERSION: !reference [variables, "RUST_LATEST_VERSION"]
-
-windows rust amd64 docker minimum supported version:
- extends: '.windows rust docker build'
- variables:
- RUST_IMAGE: !reference [variables, "WINDOWS_RUST_MINIMUM_IMAGE"]
- RUST_UPSTREAM_IMAGE: !reference [variables, "WINDOWS_RUST_MINIMUM_UPSTREAM_IMAGE"]
- RUST_VERSION: !reference [variables, "RUST_MINIMUM_VERSION"]
-
-
# ---- Preparation ----- #
#
$env:DEFAULT_BRANCH='main'
$env:VERSION='test'
$env:tag ="registry.freedesktop.org/gstreamer/gst-ci/amd64/windows:$env:VERSION-$env:DEFAULT_BRANCH"
-$env:rust_tag ="registry.freedesktop.org/gstreamer/gst-ci/amd64/windows-rust:$env:VERSION-$env:DEFAULT_BRANCH"
Set-Location './docker/windows/'
}
Get-Date
-Write-Output "Building $env:rust_tag"
-docker build --isolation=hyperv -m 12g --build-arg DEFAULT_BRANCH=$env:DEFAULT_BRANCH -f rust.Dockerfile -t $env:rust_tag .
-if (!$?) {
- Write-Host "Failed to build docker image $env:rust_tag"
- Exit 1
-}
-
-Get-Date
Write-Output "Build Finished"
\ No newline at end of file
+++ /dev/null
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
-
-# Download gstreamer and all its subprojects
-git clone -b $env:DEFAULT_BRANCH --depth 1 https://gitlab.freedesktop.org/gstreamer/gstreamer.git C:\gstreamer
-if (!$?) {
- Write-Host "Failed to clone gstreamer"
- Exit 1
-}
-
-Set-Location C:\gstreamer
-
-# Copy the cache we already have in the image to avoid massive redownloads
-Move-Item C:/subprojects/* C:\gstreamer\subprojects
-
-if (!$?) {
- Write-Host "Failed to copy subprojects cache"
- Exit 1
-}
-
-# Update the subprojects cache
-Write-Output "Running meson subproject reset"
-meson subprojects update --reset
-
-if (!$?) {
- Write-Host "Failed to reset subprojects state"
- Exit 1
-}
-
-$env:MESON_ARGS = "-Dglib:installed_tests=false " +
- "-Dlibnice:tests=disabled " +
- "-Dlibnice:examples=disabled " +
- "-Dffmpeg:tests=disabled " +
- "-Dopenh264:tests=disabled " +
- "-Dpygobject:tests=false " +
- "-Dugly=enabled " +
- "-Dbad=enabled " +
- "-Dges=enabled " +
- "-Drtsp_server=enabled " +
- "-Ddevtools=enabled " +
- "-Dsharp=disabled " +
- "-Dpython=disabled " +
- "-Dlibav=disabled " +
- "-Dvaapi=disabled " +
- "-Dgst-plugins-base:pango=enabled " +
- "-Dgst-plugins-good:cairo=enabled " +
- "-Dgpl=enabled "
-
-Write-Output "Building gst"
-cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson _build $env:MESON_ARGS && meson compile -C _build && ninja -C _build install"
-
-if (!$?) {
- Write-Host "Failed to build and install gst"
- Exit 1
-}
-
-git clean -fdxx
-
-if (!$?) {
- Write-Host "Failed to git clean"
- Exit 1
-}
+++ /dev/null
-# escape=`
-
-# Expect this to be set when calling docker build with
-# --build-arg BASE_IMAGE="" and make it fail if not set.
-ARG BASE_IMAGE="inavlid.gstreamer.freedesktop.org/invalid"
-FROM $BASE_IMAGE
-
-ARG DEFAULT_BRANCH="main"
-ARG RUST_VERSION="invalid"
-
-COPY install_gst.ps1 C:\
-RUN C:\install_gst.ps1
-RUN choco install -y pkgconfiglite
-ENV PKG_CONFIG_PATH="C:/lib/pkgconfig"
-
-ADD https://win.rustup.rs/x86_64 C:\rustup-init.exe
-RUN C:\rustup-init.exe -y --profile minimal --default-toolchain $env:RUST_VERSION
-
-# Uncomment for easy testing
-# RUN git clone --depth 1 https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
-# RUN cd gstreamer-rs; cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64; cargo build --all; cargo test --all"
\ No newline at end of file