X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fsamba-autobuild%2F.git;a=blobdiff_plain;f=.gitlab-ci.yml;h=1e836c6f28defd7c039d7812b7b8865191ab5346;hp=71e44c6081c18491d5acb3e09a793cb382017bdd;hb=e4ea408f52eeb958f646dfa4ef304357a080bdd1;hpb=6784283844dc231dad428d0c45088c1f7df404b3 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 71e44c6081c..1e836c6f28d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,86 +1,141 @@ # see https://docs.gitlab.com/ce/ci/yaml/README.html for all available options -image: registry.gitlab.com/samba-team/samba:latest variables: + # 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" -before_script: - - echo "Build starting (preparing swap)..." - - if [ $(df -m / --output=avail | tail -n1) -gt 10240 ]; then - sudo dd if=/dev/zero of=/samba-swap bs=1M count=6144; - sudo mkswap /samba-swap; - sudo swapon /samba-swap; - fi - -.shared_template: &shared_template +.shared_template: + image: $SAMBA_CI_CONTAINER_IMAGE stage: build tags: - docker - shared - -build_samba_none_env: - <<: *shared_template + before_script: + - uname -a + - lsb_release -a + - mount + - df -h + - free -h + artifacts: + expire_in: 1 week + when: on_failure + paths: + - "*.stdout" + - "*.stderr" + - system-info.txt + - /tmp/samba-testbase/*/*/bin/config.log + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure script: - # this one takes about 1 hours to finish - - python script/autobuild.py samba-none-env --verbose --tail --testbase /tmp/samba-testbase + # 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 -build_samba_nopython: - <<: *shared_template +others: + extends: .shared_template script: - - python script/autobuild.py samba-nopython --verbose --tail --testbase /tmp/samba-testbase + - script/autobuild.py ldb --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase + - script/autobuild.py pidl --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase + - script/autobuild.py replace --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase + - script/autobuild.py talloc --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase + - script/autobuild.py tdb --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase + - script/autobuild.py tevent --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase -build_samba_systemkrb5: - <<: *shared_template - script: - - python script/autobuild.py samba-systemkrb5 --verbose --tail --testbase /tmp/samba-testbase +samba: + extends: .shared_template -build_samba_xc: - <<: *shared_template - script: - - python script/autobuild.py samba-xc --verbose --tail --testbase /tmp/samba-testbase +samba-none-env: + extends: .shared_template + # this one takes about 1 hours to finish -build_samba_o3: - <<: *shared_template - script: - - python script/autobuild.py samba-o3 --verbose --tail --testbase /tmp/samba-testbase +samba-nopython: + extends: .shared_template -build_samba_ad_dc_2: - <<: *shared_template - script: - # this one takes about 1 hours to finish - - python script/autobuild.py samba-ad-dc-2 --verbose --tail --testbase /tmp/samba-testbase +samba-nopython-py2: + extends: .shared_template -build_samba_libs: - <<: *shared_template - script: - - python script/autobuild.py samba-libs --verbose --tail --testbase /tmp/samba-testbase +samba-systemkrb5: + extends: .shared_template -build_samba_static: - <<: *shared_template - script: - - python script/autobuild.py samba-static --verbose --tail --testbase /tmp/samba-testbase +samba-xc: + extends: .shared_template -build_ctdb: - <<: *shared_template - script: - - python script/autobuild.py samba-ctdb --verbose --tail --testbase /tmp/samba-testbase +samba-o3: + extends: .shared_template -build_samba_ctdb: - <<: *shared_template - script: - - python script/autobuild.py ctdb --verbose --tail --testbase /tmp/samba-testbase +samba-ad-member: + extends: .shared_template -build_others: - <<: *shared_template - script: - - python script/autobuild.py ldb --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py pidl --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py replace --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py talloc --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py tdb --verbose --tail --testbase /tmp/samba-testbase - - python script/autobuild.py tevent --verbose --tail --testbase /tmp/samba-testbase - -after_script: - - echo "Build finished!" +samba-ad-dc-2: + extends: .shared_template + +samba-ad-dc-3: + extends: .shared_template + +samba-ad-dc-4: + extends: .shared_template + +samba-ad-dc-5: + extends: .shared_template + +samba-ad-dc-6: + extends: .shared_template + +samba-ad-dc-backup: + extends: .shared_template + +samba-libs: + extends: .shared_template + +samba-static: + extends: .shared_template + +ctdb: + extends: .shared_template + +samba-ctdb: + extends: .shared_template + +samba-ad-dc-ntvfs: + extends: .shared_template + # this one takes about 100 mins to finish + + +.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-fileserver: + extends: .private_template + # this one takes about 1 hours to finish + +samba-ad-dc-1: + extends: .private_template + +samba-nt4: + extends: .private_template