Only run CI automatically on merge_request

This commit is contained in:
Nicolas Dufresne 2020-03-04 17:30:06 -05:00
parent f551f4a7be
commit 2fca5b7981
2 changed files with 30 additions and 5 deletions

View file

@ -12,6 +12,8 @@ stages:
test manifest: test manifest:
variables: variables:
GIT_STRATEGY: fetch GIT_STRATEGY: fetch
rules:
- when: 'always'
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/test-manifest:2019-10-23-793476' image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/test-manifest:2019-10-23-793476'
stage: "preparation" stage: "preparation"
script: script:
@ -24,9 +26,13 @@ test manifest:
.base: .base:
image: "docker:stable" image: "docker:stable"
extends:
- '.global_ci_policy'
rules:
- when: 'manual'
allow_failure: true
services: services:
- docker:dind - docker:dind
when: 'manual'
variables: variables:
# When using dind, it's wise to use the overlayfs driver for # When using dind, it's wise to use the overlayfs driver for
# improved performance. # improved performance.
@ -112,18 +118,21 @@ android docker:
DOCKERFILE: "docker/android/Dockerfile" DOCKERFILE: "docker/android/Dockerfile"
extends: .base extends: .base
.build local: .local_rules: &local_rules
extends: '.build'
rules: rules:
- if: '$CI_COMMIT_REF_NAME == "master" && $CI_PROJECT_PATH == "gstreamer/gst-ci"' - if: '$CI_COMMIT_REF_NAME == "master" && $CI_PROJECT_PATH == "gstreamer/gst-ci"'
when: 'never' when: 'never'
- when: 'manual' - when: 'manual'
allow_failure: true
.local_template: &local_template
<<: *local_rules
needs: needs:
- 'manifest' - 'manifest'
# Test the build job against the latest build image tag and the local manifest # Test the build job against the latest build image tag and the local manifest
build fedora x86_64 local: build fedora x86_64 local:
extends: '.build local' extends: '.build'
stage: 'build' stage: 'build'
image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest" image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest"
artifacts: artifacts:
@ -132,26 +141,35 @@ build fedora x86_64 local:
paths: paths:
- "manifest.xml" - "manifest.xml"
- "gst-build/" - "gst-build/"
<<: *local_template
build cerbero fedora x86_64 local: build cerbero fedora x86_64 local:
extends: '.cerbero fedora x86_64' extends: '.cerbero fedora x86_64'
image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest" image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
<<: *local_template
build cerbero cross-android universal local: build cerbero cross-android universal local:
extends: '.cerbero cross-android universal' extends: '.cerbero cross-android universal'
image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest" image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
<<: *local_template
build cerbero cross win32 local: build cerbero cross win32 local:
extends: '.cerbero cross win32' extends: '.cerbero cross win32'
image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest" image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
<<: *local_template
build cerbero cross win64 local: build cerbero cross win64 local:
extends: '.cerbero cross win64' extends: '.cerbero cross win64'
image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest" image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
<<: *local_template
# Note: dependencies: will be deprecated in the future, but current manual
# jobs with needs: (even if they are allowed to fail) will leave the pipeline
# pending.
.test fedora x86_64 local: .test fedora x86_64 local:
image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest' image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest'
extends: '.test' extends: '.test'
<<: *local_rules
dependencies: dependencies:
- 'build fedora x86_64 local' - 'build fedora x86_64 local'
@ -163,8 +181,9 @@ check fedora local:
cross-android universal examples local: cross-android universal examples local:
extends: '.cross-android universal examples' extends: '.cross-android universal examples'
image: "${CI_REGISTRY_IMAGE}/amd64/android:latest" image: "${CI_REGISTRY_IMAGE}/amd64/android:latest"
<<: *local_rules
dependencies: dependencies:
- "build cerbero cross-android universal local" - 'build cerbero cross-android universal local'
integration testsuites fedora local: integration testsuites fedora local:
extends: '.test fedora x86_64 local' extends: '.test fedora x86_64 local'

View file

@ -64,6 +64,12 @@ manifest:
image: $MANIFEST_IMAGE image: $MANIFEST_IMAGE
extends: extends:
- '.global_ci_policy' - '.global_ci_policy'
rules:
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME'
when: 'always'
- if: '$CI_PROJECT_PATH == "gstreamer/cerbero"'
when: 'always'
- when: 'manual'
stage: 'preparation' stage: 'preparation'
script: script:
- cd /gst-ci - cd /gst-ci