gitlab-ci: Use YAML templates to reduce duplication
authorAndrew Bartlett <abartlet@samba.org>
Mon, 30 Apr 2018 08:31:19 +0000 (20:31 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 3 May 2018 06:17:44 +0000 (08:17 +0200)
Inspired by WIP patches by Jamie McClymont

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
.gitlab-ci-private.yml
.gitlab-ci.yml

index 46acf77041f7bf46a962c62e790a4cee723b9614..3a1e982d93df830acc618e8a8d988d3d8fe84984 100644 (file)
@@ -2,47 +2,38 @@ include:
  - '/.gitlab-ci.yml'
 
 
-build_samba:
+.private_template: &private_template
   stage: build
   tags:
     - docker
     - private
+
+build_samba:
+  <<: *private_template
   script:
     # this one takes about 4 hours to finish
     - python script/autobuild.py samba            --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_nt4:
-  stage: build
-  tags:
-    - docker
-    - private
+  <<: *private_template
   script:
     # this one takes about 1 hours to finish
     - python script/autobuild.py samba-nt4        --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_fileserver:
-  stage: build
-  tags:
-    - docker
-    - private
+  <<: *private_template
   script:
     # this one takes about 1 hours to finish
     - python script/autobuild.py samba-fileserver --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_ad_dc:
-  stage: build
-  tags:
-    - docker
-    - private
+  <<: *private_template
   script:
     # this one takes about 1 hours to finish
     - python script/autobuild.py samba-ad-dc     --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_ad_dc_2:
-  stage: build
-  tags:
-    - docker
-    - private
+  <<: *private_template
   script:
     # this one takes about 1 hours to finish
     - python script/autobuild.py samba-ad-dc-2     --verbose --tail --testbase /tmp/samba-testbase
index bfefc23aa58599a30f1518f35a6510565c998492..b151599f12c2347af0518102f006ebd8a4097d05 100644 (file)
@@ -14,84 +14,60 @@ before_script:
       sudo swapon /samba-swap;
     fi
 
-build_samba_none_env:
+.shared_template: &shared_template
   stage: build
   tags:
     - docker
     - shared
+
+build_samba_none_env:
+  <<: *shared_template
   script:
     # this one takes about 1 hours to finish
     - python script/autobuild.py samba-none-env    --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_nopython:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-nopython   --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_systemkrb5:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_xc:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-xc         --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_o3:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-o3         --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_libs:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-libs       --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_static:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-static     --verbose --tail --testbase /tmp/samba-testbase
 
 build_ctdb:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py samba-ctdb       --verbose --tail --testbase /tmp/samba-testbase
 
 build_samba_ctdb:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py ctdb             --verbose --tail --testbase /tmp/samba-testbase
 
 build_others:
-  stage: build
-  tags:
-    - docker
-    - shared
+  <<: *shared_template
   script:
     - python script/autobuild.py ldb              --verbose --tail --testbase /tmp/samba-testbase
     - python script/autobuild.py pidl             --verbose --tail --testbase /tmp/samba-testbase