.gitlab-ci.yml: Use .extends to avoid duplication of autobuild command
[gd/samba-autobuild/.git] / .gitlab-ci.yml
1 # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
2
3
4 variables:
5   SAMBA_BUILD_GITLAB_CI_REGISTRY: registry.gitlab.com
6   SAMBA_BUILD_IMAGES_PROJECT: samba-team/samba
7   SAMBA_BUILD: latest
8   GIT_STRATEGY: fetch
9   GIT_DEPTH: "3"
10
11 .shared_template:
12   image: $SAMBA_BUILD_GITLAB_CI_REGISTRY/$SAMBA_BUILD_IMAGES_PROJECT:$SAMBA_BUILD
13   stage: build
14   tags:
15     - docker
16     - shared
17   before_script:
18     - uname -a
19     - lsb_release -a
20     - echo "Build starting (preparing swap)..."
21     - if [ $(df -m / --output=avail | tail -n1) -gt 10240 ]; then
22         sudo dd if=/dev/zero of=/samba-swap bs=1M count=6144;
23         sudo mkswap /samba-swap;
24         sudo swapon /samba-swap;
25       fi
26     - mount
27     - df -h
28     - free -h
29   artifacts:
30     expire_in: 1 week
31     when: on_failure
32     paths:
33       - "*.stdout"
34       - "*.stderr"
35       - system-info.txt
36       - /tmp/samba-testbase/*/*/bin/config.log
37   retry:
38     max: 2
39     when:
40       - runner_system_failure
41       - stuck_or_timeout_failure
42   script:
43     - script/autobuild.py $CI_JOB_NAME    --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
44
45 others:
46   extends: .shared_template
47   script:
48     - script/autobuild.py ldb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
49     - script/autobuild.py pidl             --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
50     - script/autobuild.py replace          --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
51     - script/autobuild.py talloc           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
52     - script/autobuild.py tdb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
53     - script/autobuild.py tevent           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
54
55 samba-none-env:
56   extends: .shared_template
57     # this one takes about 1 hours to finish
58
59 samba-none-env-py2:
60   extends: .shared_template
61     # this one takes about 1 hours to finish
62
63 samba-nopython:
64   extends: .shared_template
65
66 samba-systemkrb5:
67   extends: .shared_template
68
69 samba-xc:
70   extends: .shared_template
71
72 samba-o3:
73   extends: .shared_template
74
75 samba-ad-dc-2:
76   extends: .shared_template
77     # this one takes about 1 hours to finish
78
79 samba-ad-dc-backup:
80   extends: .shared_template
81
82 samba-ad-dc-2-py2:
83   extends: .shared_template
84     # this one takes about 1 hours to finish
85
86 samba-libs:
87   extends: .shared_template
88
89 samba-libs-py2:
90   extends: .shared_template
91
92 samba-static:
93   extends: .shared_template
94
95 ctdb:
96   extends: .shared_template
97
98 samba-ctdb:
99   extends: .shared_template
100
101 samba-buildpy2-only:
102   extends: .shared_template
103
104 samba-ad-dc-ntvfs:
105   extends: .shared_template
106     # this one takes about 100 mins to finish
107
108 samba-ad-dc-ntvfs-py2:
109   extends: .shared_template