gitlab-ci: Use YAML templates to reduce duplication
[amitay/samba.git] / .gitlab-ci.yml
1 # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options
2
3 image: registry.gitlab.com/samba-team/samba:latest
4
5 variables:
6   GIT_STRATEGY: fetch
7   GIT_DEPTH: "3"
8
9 before_script:
10   - echo "Build starting (preparing swap)..."
11   - if [ $(df -m / --output=avail | tail -n1) -gt 10240 ]; then
12       sudo dd if=/dev/zero of=/samba-swap bs=1M count=6144;
13       sudo mkswap /samba-swap;
14       sudo swapon /samba-swap;
15     fi
16
17 .shared_template: &shared_template
18   stage: build
19   tags:
20     - docker
21     - shared
22
23 build_samba_none_env:
24   <<: *shared_template
25   script:
26     # this one takes about 1 hours to finish
27     - python script/autobuild.py samba-none-env    --verbose --tail --testbase /tmp/samba-testbase
28
29 build_samba_nopython:
30   <<: *shared_template
31   script:
32     - python script/autobuild.py samba-nopython   --verbose --tail --testbase /tmp/samba-testbase
33
34 build_samba_systemkrb5:
35   <<: *shared_template
36   script:
37     - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase
38
39 build_samba_xc:
40   <<: *shared_template
41   script:
42     - python script/autobuild.py samba-xc         --verbose --tail --testbase /tmp/samba-testbase
43
44 build_samba_o3:
45   <<: *shared_template
46   script:
47     - python script/autobuild.py samba-o3         --verbose --tail --testbase /tmp/samba-testbase
48
49 build_samba_libs:
50   <<: *shared_template
51   script:
52     - python script/autobuild.py samba-libs       --verbose --tail --testbase /tmp/samba-testbase
53
54 build_samba_static:
55   <<: *shared_template
56   script:
57     - python script/autobuild.py samba-static     --verbose --tail --testbase /tmp/samba-testbase
58
59 build_ctdb:
60   <<: *shared_template
61   script:
62     - python script/autobuild.py samba-ctdb       --verbose --tail --testbase /tmp/samba-testbase
63
64 build_samba_ctdb:
65   <<: *shared_template
66   script:
67     - python script/autobuild.py ctdb             --verbose --tail --testbase /tmp/samba-testbase
68
69 build_others:
70   <<: *shared_template
71   script:
72     - python script/autobuild.py ldb              --verbose --tail --testbase /tmp/samba-testbase
73     - python script/autobuild.py pidl             --verbose --tail --testbase /tmp/samba-testbase
74     - python script/autobuild.py replace          --verbose --tail --testbase /tmp/samba-testbase
75     - python script/autobuild.py talloc           --verbose --tail --testbase /tmp/samba-testbase
76     - python script/autobuild.py tdb              --verbose --tail --testbase /tmp/samba-testbase
77     - python script/autobuild.py tevent           --verbose --tail --testbase /tmp/samba-testbase
78
79 after_script:
80   - echo "Build finished!"