mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 08:11:16 +00:00
85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
stages:
|
|
- 'preparation'
|
|
# Test just one basic build, if it succeeds proceed to test the rest
|
|
- 'build'
|
|
- 'test'
|
|
# Run multiple builds and tests, multi-distro, multi-arch
|
|
- 'full builds'
|
|
- 'full tests'
|
|
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
DEFAULT_MESON_ARGS: >
|
|
--werror
|
|
-Dpython=enabled
|
|
-Dlibav=enabled
|
|
-Dugly=enabled
|
|
-Dbad=enabled
|
|
-Ddevtools=enabled
|
|
-Dges=enabled
|
|
-Drtsp_server=enabled
|
|
-Dvaapi=enabled
|
|
-Dsharp=disabled
|
|
|
|
manifest:
|
|
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/alpine-manifest-build:10ffa6f1af6fed20a8857d2c7426d81cf162e3d1'
|
|
stage: 'preparation'
|
|
script:
|
|
- cd /gst-ci
|
|
- gitlab/build_manifest.py --self-update
|
|
- gitlab/build_manifest.py ${CI_PROJECT_DIR}/manifest.xml
|
|
- cat ${CI_PROJECT_DIR}/manifest.xml
|
|
artifacts:
|
|
expire_in: "2 days"
|
|
paths:
|
|
- "manifest.xml"
|
|
|
|
.build:
|
|
stage: 'full builds'
|
|
dependencies:
|
|
- "manifest"
|
|
variables:
|
|
CC: "ccache gcc"
|
|
CXX: "ccache g++"
|
|
CCACHE_BASEDIR: "${CI_PROJECT_DIR}"
|
|
CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
|
|
MAIN_DIR: "${CI_PROJECT_DIR}"
|
|
MESON_ARGS: "${DEFAULT_MESON_ARGS}"
|
|
|
|
script:
|
|
# Not sure why, but permission errors else
|
|
# https://gitlab.freedesktop.org/alatiera/gstreamer/-/jobs/41441
|
|
- cp -r /gst-build/ . && cd gst-build
|
|
- ./git-update --no-interaction --manifest="${CI_PROJECT_DIR}/manifest.xml"
|
|
- meson build/ $MESON_ARGS
|
|
- ninja -C build/
|
|
after_script:
|
|
- cd gst-build/
|
|
# Clean the artifacts packages to avoid copying "useless" build products.
|
|
- rm $(find build -name "*.o") $(find -name "*.a")
|
|
# Clean the .git repos since we won't need them anymore
|
|
- rm -rf subprojects/*/.git/
|
|
- rm -rf build/subprojects/*/.git/
|
|
cache:
|
|
paths:
|
|
- "${CCACHE_DIR}"
|
|
artifacts:
|
|
expire_in: 6hours
|
|
when: always
|
|
paths:
|
|
- "manifest.xml"
|
|
# - "gst-build/"
|
|
|
|
build fedora x86_64:
|
|
extends: '.build'
|
|
stage: 'build'
|
|
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora-build:2414895a53408ed8a0410a52560f8090b3f74696'
|
|
|
|
build android arm64 api28:
|
|
extends: '.build'
|
|
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/ubuntu-build:a1726fee5841b776fcdaeda2e0ad628ce037a3c6'
|
|
variables:
|
|
MESON_ARGS: >
|
|
-Dbad=enabled
|
|
-Dbad:androidmedia=enabled
|
|
--cross-file /android_arm64_28.txt
|