Add support for building the doc
[platform/upstream/gstreamer.git] / gitlab / ci_template.yml
index 5af0fa0..fb39797 100644 (file)
@@ -8,11 +8,12 @@ stages:
   - 'full tests'
   # build some apps to check that cross-platform binaries are usable
   - 'apps'
+  - 'deploy'
 
 variables:
   ANDROID_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/android:2019-03-26-196225'
   CERBERO_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/cerbero-fedora:7ed820aa1fcf95938cc161e397b1bf455f1f5b74'
-  FEDORA_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora:2019-03-26-196223'
+  FEDORA_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora:2019-05-13-295487'
   INDENT_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/gst-indent:6f7e01e1e30a73efa880acdc8e911f1f20c58dbb'
   MANIFEST_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/build-manifest:d19082b72667fb3382bdc3621520c4d26e258b2e'
 
@@ -71,6 +72,7 @@ gst indent:
       - $CI_PROJECT_NAME == "gstreamer-sharp"
       - $CI_PROJECT_NAME == "gst-integration-testsuites"
       - $CI_PROJECT_NAME == "cerbero"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 .build:
   stage: 'full builds'
@@ -118,7 +120,7 @@ build fedora x86_64:
   stage: 'build'
   image: $FEDORA_IMAGE
   variables:
-    MESON_ARGS: "${DEFAULT_MESON_ARGS} -Dsharp=enabled -Domx=enabled -Dgst-omx:target=generic"
+    MESON_ARGS: "${DEFAULT_MESON_ARGS} -Dsharp=enabled -Domx=enabled -Dgst-omx:target=generic -Ddoc=enabled"
 
 build nodebug fedora x86_64:
   extends: '.build'
@@ -163,6 +165,7 @@ build nodebug fedora x86_64:
     variables:
       - $CI_PROJECT_NAME == "cerbero"
       - $CI_PROJECT_NAME == "gst-examples"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 .test fedora x86_64:
   image: $FEDORA_IMAGE
@@ -180,6 +183,7 @@ check fedora:
       - $CI_PROJECT_NAME == "cerbero"
       - $CI_PROJECT_NAME == "gst-examples"
       - $CI_PROJECT_NAME == "gst-omx"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 integration testsuites fedora:
   extends: '.test fedora x86_64'
@@ -193,6 +197,7 @@ integration testsuites fedora:
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
       - $CI_PROJECT_NAME == "cerbero"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 # Valgrind
 .valgrind fedora x86_64:
@@ -293,6 +298,7 @@ valgrind ges:
   except:
     variables:
       - $CI_PROJECT_NAME == "gst-build"
+      - $CI_PROJECT_NAME == "gst-docs"
   cache:
     key: "${CI_JOB_NAME}"
     paths:
@@ -379,7 +385,7 @@ build cerbero fedora x86_64:
       - $CI_PROJECT_NAME == "gst-build"
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
-
+      - $CI_PROJECT_NAME == "gst-docs"
 
 #
 # Cerbero Android Universal build
@@ -413,6 +419,7 @@ build cerbero android universal:
       - $CI_PROJECT_NAME == "gst-build"
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 #
 # Cerbero Cross Windows builds
@@ -444,6 +451,7 @@ build cerbero cross win32:
       - $CI_PROJECT_NAME == "gst-build"
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 cerbero deps windows x86_64:
   extends: '.cerbero deps'
@@ -472,6 +480,7 @@ build cerbero cross win64:
       - $CI_PROJECT_NAME == "gst-build"
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 #
 # Build an Android App using the android binaries
@@ -526,6 +535,7 @@ android universal examples:
       - $CI_PROJECT_NAME == "gst-omx"
       - $CI_PROJECT_NAME == "gst-integration-testsuites"
       - $CI_PROJECT_NAME == "gstreamer-vaapi"
+      - $CI_PROJECT_NAME == "gst-docs"
 
 cerbero android universal examples:
   extends: ".android universal examples"
@@ -534,3 +544,19 @@ cerbero android universal examples:
   only:
     variables:
       - $CI_PROJECT_NAME == "cerbero"
+
+documentation:
+  image: $FEDORA_IMAGE
+  dependencies:
+    - 'build fedora x86_64'
+  stage: deploy
+
+  script:
+  - cd gst-build/
+  - ./gst-uninstalled.py hotdoc run --conf-file=build/subprojects/gst-docs/GStreamer-doc.json --fatal-warnings
+  - cd -
+  - mv gst-build/build/subprojects/gst-docs/GStreamer-doc/html documentation/
+
+  artifacts:
+    paths:
+    - documentation/