.gitlab-ci.yml: run samba-schemaupgrade on the private runner
[samba.git] / .gitlab-ci.yml
1 # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
2
3
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"
12
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     - cat /etc/os-release
23     - mount
24     - df -h
25     - cat /proc/swaps
26     - free -h
27   after_script:
28     - mount
29     - df -h
30     - cat /proc/swaps
31     - free -h
32   artifacts:
33     expire_in: 1 week
34     when: on_failure
35     paths:
36       - "*.stdout"
37       - "*.stderr"
38       - system-info.txt
39       - /tmp/samba-testbase/*/*/bin/config.log
40   retry:
41     max: 2
42     when:
43       - runner_system_failure
44       - stuck_or_timeout_failure
45   script:
46     # gitlab predefines CI_JOB_NAME for each job. The gitlab job usually matches the
47     # autobuild name, which means we can define a default template that runs most autobuild jobs
48     - echo "Running cmd script/autobuild.py $CI_JOB_NAME --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase"
49     - script/autobuild.py $CI_JOB_NAME    --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
50
51 others:
52   extends: .shared_template
53   script:
54     - script/autobuild.py ldb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
55     - script/autobuild.py pidl             --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
56     - script/autobuild.py replace          --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
57     - script/autobuild.py talloc           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
58     - script/autobuild.py tdb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
59     - script/autobuild.py tevent           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
60
61 samba:
62   extends: .shared_template
63
64 samba-none-env:
65   extends: .shared_template
66   # this one takes about 1 hours to finish
67
68 samba-nopython:
69   extends: .shared_template
70
71 samba-nopython-py2:
72   extends: .shared_template
73
74 samba-systemkrb5:
75   extends: .shared_template
76
77 samba-xc:
78   extends: .shared_template
79
80 samba-o3:
81   extends: .shared_template
82
83 samba-ad-member:
84   extends: .shared_template
85
86 samba-ad-dc-2:
87   extends: .shared_template
88
89 samba-ad-dc-3:
90   extends: .shared_template
91
92 samba-ad-dc-4:
93   extends: .shared_template
94
95 samba-ad-dc-5:
96   extends: .shared_template
97
98 samba-ad-dc-6:
99   extends: .shared_template
100
101 samba-ad-dc-backup:
102   extends: .shared_template
103
104 samba-libs:
105   extends: .shared_template
106
107 samba-static:
108   extends: .shared_template
109
110 ctdb:
111   extends: .shared_template
112
113 samba-ctdb:
114   extends: .shared_template
115
116 samba-ad-dc-ntvfs:
117   extends: .shared_template
118   # this one takes about 100 mins to finish
119
120
121 .private_template:
122   extends: .shared_template
123   tags:
124     - docker
125     - private
126   only:
127     variables:
128       # These jobs are only run if the gitlab repo has private runners available.
129       # To enable private jobs, you must add the following var and value to
130       # your gitlab repo by navigating to:
131       # settings -> CI/CD -> Environment variables
132       - $SUPPORT_PRIVATE_TEST == "yes"
133
134 samba-fileserver:
135   extends: .private_template
136   # this one takes about 1 hours to finish
137
138 samba-ad-dc-1:
139   extends: .private_template
140
141 samba-nt4:
142   extends: .private_template
143
144 samba-schemaupgrade:
145   extends: .private_template