Idea is that in order to not consume many resources for broken
builds, we will have a basic stage where just one simple set of
build and test jobs is run. If that passes we will continue with
the rest of the Pipeline suite.
stages:
- - "test"
- "build runtime"
- "build base"
- - "manifest"
+ - "preparation"
+ # Test just one basic build, if succeds procced to test the rest
- "build"
+ - "test"
+ # Run multiple builds and tests, multi-distro, multi-arch
+ - "full builds"
+ - "full tests"
test manifest:
variables:
GIT_STRATEGY: fetch
image: "fedora"
- stage: "test"
+ stage: "preparation"
before_script:
- dnf install -y python3-pytest python3-pytest-cov python3-requests
script:
# Test the build job against the latest build image tag and the local manifest
build fedora x86_64 local:
extends: '.build'
+ stage: 'build'
image: "${CI_REGISTRY_IMAGE}/amd64/fedora-build:latest"
build ubuntu x86_64 local:
stages:
- - "manifest"
- - "build"
+ - '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
manifest:
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/alpine-manifest-build:10ffa6f1af6fed20a8857d2c7426d81cf162e3d1'
- stage: 'manifest'
+ stage: 'preparation'
script:
- cd /gst-ci
- gitlab/build_manifest.py --self-update
- "manifest.xml"
.build:
- stage: "build"
+ stage: 'full builds'
dependencies:
- "manifest"
variables:
build fedora x86_64:
extends: '.build'
+ stage: 'build'
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora-build:2414895a53408ed8a0410a52560f8090b3f74696'
build android arm64 api28: