[gtk/ebassi/ci-extends] ci: Use extends instead of YAML anchors



commit b374839eb730078ff5c82ae3ef7141fab42140d7
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri May 15 13:21:45 2020 +0100

    ci: Use extends instead of YAML anchors
    
    The `extends` keyword is more readable than YAML's weird anchor syntax,
    and we don't have too many anchors in our job definitions anyway.

 .gitlab-ci.yml | 91 +++++++++++++++++++++++++++++-----------------------------
 1 file changed, 45 insertions(+), 46 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b228e9c657..d45fbfeef7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -33,21 +33,8 @@ style-check-diff:
   script:
     - .gitlab-ci/run-style-check-diff.sh
 
-fedora-x86_64:
+.build-fedora-default:
   image: registry.gitlab.gnome.org/gnome/gtk/fedora:v16
-  stage: build
-  variables:
-    EXTRA_MESON_FLAGS: "--buildtype=debug --default-library=both"
-  script:
-    - meson ${COMMON_MESON_FLAGS} ${EXTRA_MESON_FLAGS}
-            -Dx11-backend=true
-            -Dwayland-backend=true
-            -Dbroadway-backend=true
-            -Dvulkan=yes
-            -Dprofiler=true
-            _build
-    - ninja -C _build
-    - .gitlab-ci/run-tests.sh _build
   artifacts:
     when: always
     reports:
@@ -63,10 +50,32 @@ fedora-x86_64:
       - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*.syscap"
   cache:
     key: "$CI_JOB_NAME"
-    <<: *cache-paths
+    paths:
+      - _ccache/
+      - subprojects/gdk-pixbuf/
+      - subprojects/glib/
+      - subprojects/graphene/
+      - subprojects/libepoxy/
+      - subprojects/pango/
+
+fedora-x86_64:
+  extends: .build-fedora-default
+  stage: build
+  variables:
+    EXTRA_MESON_FLAGS: "--buildtype=debug --default-library=both"
+  script:
+    - meson ${COMMON_MESON_FLAGS} ${EXTRA_MESON_FLAGS}
+            -Dx11-backend=true
+            -Dwayland-backend=true
+            -Dbroadway-backend=true
+            -Dvulkan=yes
+            -Dprofiler=true
+            _build
+    - ninja -C _build
+    - .gitlab-ci/run-tests.sh _build
 
 release-build:
-  image: registry.gitlab.gnome.org/gnome/gtk/fedora:v16
+  extends: .build-fedora-default
   stage: build
   variables:
     EXTRA_MESON_FLAGS: "--buildtype=release"
@@ -79,24 +88,8 @@ release-build:
             _build
     - ninja -C _build
     - .gitlab-ci/run-tests.sh _build
-  artifacts:
-    when: always
-    reports:
-      junit:
-        - "${CI_PROJECT_DIR}/_build/report.xml"
-    name: "gtk-${CI_COMMIT_REF_NAME}"
-    paths:
-      - "${CI_PROJECT_DIR}/_build/meson-logs"
-      - "${CI_PROJECT_DIR}/_build/report.xml"
-      - "${CI_PROJECT_DIR}/_build/report.html"
-      - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*.png"
-      - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*.png"
-      - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*.syscap"
-  cache:
-    key: "$CI_JOB_NAME"
-    <<: *cache-paths
 
-.mingw-defaults: &mingw-defaults
+.mingw-defaults:
   stage: build
   tags:
     - win32-ps
@@ -105,15 +98,21 @@ release-build:
     - C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
   cache:
     key: "$CI_JOB_NAME"
-    <<: *cache-paths
+    paths:
+      - _ccache/
+      - subprojects/gdk-pixbuf/
+      - subprojects/glib/
+      - subprojects/graphene/
+      - subprojects/libepoxy/
+      - subprojects/pango/
 
 msys2-mingw32:
+  extends: .mingw-defaults
   variables:
     MSYSTEM: "MINGW32"
     CHERE_INVOKING: "yes"
-  <<: *mingw-defaults
 
-.flatpak-defaults: &flatpak-defaults
+.flatpak-defaults:
   image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
   stage: flatpak
   allow_failure: true
@@ -127,45 +126,45 @@ msys2-mingw32:
     - bash -x ./.gitlab-ci/flatpak-build.sh "${APPID}"
 
 # Manual jobs, for branches and MRs
-.flatpak-manual: &flatpak-manual
-  <<: *flatpak-defaults
+.flatpak-manual:
+  extends: .flatpak-defaults
   when: manual
 
 # Only build Flatpak bundles automatically on master
-.flatpak-master: &flatpak-master
-  <<: *flatpak-defaults
+.flatpak-master:
+  extends: .flatpak-defaults
   only:
     - master
 
 flatpak-manual:demo:
+  extends: .flatpak-manual
   variables:
     APPID: org.gtk.Demo4
-  <<: *flatpak-manual
 
 flatpak-master:demo:
+  extends: .flatpak-master
   variables:
     APPID: org.gtk.Demo4
-  <<: *flatpak-master
 
 flatpak-manual:widget-factory:
+  extends: .flatpak-manual
   variables:
     APPID: org.gtk.WidgetFactory4
-  <<: *flatpak-manual
 
 flatpak-master:widget-factory:
+  extends: .flatpak-master
   variables:
     APPID: org.gtk.WidgetFactory4
-  <<: *flatpak-master
 
 flatpak-manual:icon-browser:
+  extends: .flatpak-manual
   variables:
     APPID: org.gtk.IconBrowser4
-  <<: *flatpak-manual
 
 flatpak-master:icon-browser:
+  extends: .flatpak-master
   variables:
     APPID: org.gtk.IconBrowser4
-  <<: *flatpak-master
 
 static-scan:
   image: registry.gitlab.gnome.org/gnome/gtk/fedora:v16


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]