spell "recursive"
[Samba.git] / .gitlab-ci.yml
blob1e836c6f28defd7c039d7812b7b8865191ab5346
1 # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
4 variables:
5   # we run autobuild.py inside a samba CI docker image located on gitlab's registry
6   SAMBA_CI_CONTAINER_REGISTRY: registry.gitlab.com
7   SAMBA_CI_CONTAINER_NAME: samba-team/samba
8   SAMBA_CI_CONTAINER_TAG: latest
9   SAMBA_CI_CONTAINER_IMAGE: $SAMBA_CI_CONTAINER_REGISTRY/$SAMBA_CI_CONTAINER_NAME:$SAMBA_CI_CONTAINER_TAG
10   GIT_STRATEGY: fetch
11   GIT_DEPTH: "3"
13 .shared_template:
14   image: $SAMBA_CI_CONTAINER_IMAGE
15   stage: build
16   tags:
17     - docker
18     - shared
19   before_script:
20     - uname -a
21     - lsb_release -a
22     - mount
23     - df -h
24     - free -h
25   artifacts:
26     expire_in: 1 week
27     when: on_failure
28     paths:
29       - "*.stdout"
30       - "*.stderr"
31       - system-info.txt
32       - /tmp/samba-testbase/*/*/bin/config.log
33   retry:
34     max: 2
35     when:
36       - runner_system_failure
37       - stuck_or_timeout_failure
38   script:
39     # gitlab predefines CI_JOB_NAME for each job. The gitlab job usually matches the
40     # autobuild name, which means we can define a default template that runs most autobuild jobs
41     - echo "Running cmd script/autobuild.py $CI_JOB_NAME --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase"
42     - script/autobuild.py $CI_JOB_NAME    --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
44 others:
45   extends: .shared_template
46   script:
47     - script/autobuild.py ldb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
48     - script/autobuild.py pidl             --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
49     - script/autobuild.py replace          --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
50     - script/autobuild.py talloc           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
51     - script/autobuild.py tdb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
52     - script/autobuild.py tevent           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
54 samba:
55   extends: .shared_template
57 samba-none-env:
58   extends: .shared_template
59   # this one takes about 1 hours to finish
61 samba-nopython:
62   extends: .shared_template
64 samba-nopython-py2:
65   extends: .shared_template
67 samba-systemkrb5:
68   extends: .shared_template
70 samba-xc:
71   extends: .shared_template
73 samba-o3:
74   extends: .shared_template
76 samba-ad-member:
77   extends: .shared_template
79 samba-ad-dc-2:
80   extends: .shared_template
82 samba-ad-dc-3:
83   extends: .shared_template
85 samba-ad-dc-4:
86   extends: .shared_template
88 samba-ad-dc-5:
89   extends: .shared_template
91 samba-ad-dc-6:
92   extends: .shared_template
94 samba-ad-dc-backup:
95   extends: .shared_template
97 samba-libs:
98   extends: .shared_template
100 samba-static:
101   extends: .shared_template
103 ctdb:
104   extends: .shared_template
106 samba-ctdb:
107   extends: .shared_template
109 samba-ad-dc-ntvfs:
110   extends: .shared_template
111   # this one takes about 100 mins to finish
114 .private_template:
115   extends: .shared_template
116   tags:
117     - docker
118     - private
119   before_script:
120     - uname -a
121     - lsb_release -a
122     - mount
123     - df -h
124     - free -h
125   only:
126     variables:
127       # These jobs are only run if the gitlab repo has private runners available.
128       # To enable private jobs, you must add the following var and value to
129       # your gitlab repo by navigating to:
130       # settings -> CI/CD -> Environment variables
131       - $SUPPORT_PRIVATE_TEST == "yes"
133 samba-fileserver:
134   extends: .private_template
135   # this one takes about 1 hours to finish
137 samba-ad-dc-1:
138   extends: .private_template
140 samba-nt4:
141   extends: .private_template