TODO: s3:libsmb: add cli_state_dup()
[metze/samba/wip.git] / .gitlab-ci.yml
index ec76313d4c6f0112e72cb6cd923e4f78a9628c70..32a10181bfa5898940f086eef35a2e6cde5e2c03 100644 (file)
@@ -2,14 +2,16 @@
 
 
 variables:
-  SAMBA_BUILD_GITLAB_CI_REGISTRY: registry.gitlab.com
-  SAMBA_BUILD_IMAGES_PROJECT: samba-team/samba
-  SAMBA_BUILD: latest
+  # we run autobuild.py inside a samba CI docker image located on gitlab's registry
+  SAMBA_CI_CONTAINER_REGISTRY: registry.gitlab.com
+  SAMBA_CI_CONTAINER_NAME: samba-team/samba
+  SAMBA_CI_CONTAINER_TAG: latest
+  SAMBA_CI_CONTAINER_IMAGE: $SAMBA_CI_CONTAINER_REGISTRY/$SAMBA_CI_CONTAINER_NAME:$SAMBA_CI_CONTAINER_TAG
   GIT_STRATEGY: fetch
   GIT_DEPTH: "3"
 
 .shared_template:
-  image: $SAMBA_BUILD_GITLAB_CI_REGISTRY/$SAMBA_BUILD_IMAGES_PROJECT:$SAMBA_BUILD
+  image: $SAMBA_CI_CONTAINER_IMAGE
   stage: build
   tags:
     - docker
@@ -40,6 +42,9 @@ variables:
       - runner_system_failure
       - stuck_or_timeout_failure
   script:
+    # gitlab predefines CI_JOB_NAME for each job. The gitlab job usually matches the
+    # autobuild name, which means we can define a default template that runs most autobuild jobs
+    - echo "Running cmd script/autobuild.py $CI_JOB_NAME --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase"
     - script/autobuild.py $CI_JOB_NAME    --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
 
 others:
@@ -54,13 +59,12 @@ others:
 
 samba-none-env:
   extends: .shared_template
-    # this one takes about 1 hours to finish
+  # this one takes about 1 hours to finish
 
-samba-none-env-py2:
+samba-nopython:
   extends: .shared_template
-    # this one takes about 1 hours to finish
 
-samba-nopython:
+samba-nopython-py2:
   extends: .shared_template
 
 samba-systemkrb5:
@@ -74,21 +78,14 @@ samba-o3:
 
 samba-ad-dc-2:
   extends: .shared_template
-    # this one takes about 1 hours to finish
+  # this one takes about 1 hours to finish
 
 samba-ad-dc-backup:
   extends: .shared_template
 
-samba-ad-dc-2-py2:
-  extends: .shared_template
-    # this one takes about 1 hours to finish
-
 samba-libs:
   extends: .shared_template
 
-samba-libs-py2:
-  extends: .shared_template
-
 samba-static:
   extends: .shared_template
 
@@ -98,12 +95,41 @@ ctdb:
 samba-ctdb:
   extends: .shared_template
 
-samba-buildpy2-only:
-  extends: .shared_template
-
 samba-ad-dc-ntvfs:
   extends: .shared_template
-    # this one takes about 100 mins to finish
+  # this one takes about 100 mins to finish
+
 
-samba-ad-dc-ntvfs-py2:
+.private_template:
   extends: .shared_template
+  tags:
+    - docker
+    - private
+  before_script:
+    - uname -a
+    - lsb_release -a
+    - mount
+    - df -h
+    - free -h
+  only:
+    variables:
+      # These jobs are only run if the gitlab repo has private runners available.
+      # To enable private jobs, you must add the following var and value to
+      # your gitlab repo by navigating to:
+      # settings -> CI/CD -> Environment variables
+      - $SUPPORT_PRIVATE_TEST == "yes"
+
+samba:
+  extends: .private_template
+  # this one takes about 4 hours to finish
+
+samba-fileserver:
+  extends: .private_template
+  # this one takes about 1 hours to finish
+
+samba-ad-dc:
+  extends: .private_template
+  # this one takes about 1 hours to finish
+
+samba-nt4:
+  extends: .private_template