1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

add .gitlab-ci-coverage.yml for a scheduled build

This will be used by the https://gitlab.com/samba-team/samba
configuration, while https://gitlab.com/samba-team/devel/samba
will still use .gitlab-ci.yml (via the legacy .gitlab-ci-private.yml).

The key point is the usage of the more powerful n1-standard-2
runners for testing.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Apr 13 09:33:14 UTC 2021 on sn-devel-184
This commit is contained in:
Stefan Metzmacher 2020-12-29 15:15:13 +01:00
parent 7387da74e6
commit d5759794d6
4 changed files with 38 additions and 3 deletions

View File

@ -0,0 +1,10 @@
include:
- /.gitlab-ci-default-runners.yml
.shared_runner_test:
# We need the more powerful n1-standard-2 runners
# in order to handle the lcov overhead.
#
# See .gitlab-ci-default-runners.yml for more details
tags:
- gitlab-org-docker

12
.gitlab-ci-coverage.yml Normal file
View File

@ -0,0 +1,12 @@
# This is just used for the scheduled pipelines in the
# https://gitlab.com/samba-team/samba configuration
#
variables:
SAMBA_CI_FLAVOR: "coverage"
# "--enable-coverage" or ""
SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE: "--enable-coverage"
include:
- /.gitlab-ci-coverage-runners.yml
- /.gitlab-ci-main.yml

View File

@ -1,3 +1,9 @@
variables:
SAMBA_CI_FLAVOR: "default"
# "--enable-coverage" or ""
# See .gitlab-ci-coverage.yml
SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE: ""
include: include:
- /.gitlab-ci-default-runners.yml - /.gitlab-ci-default-runners.yml
- /.gitlab-ci-main.yml - /.gitlab-ci-main.yml

View File

@ -30,8 +30,6 @@ variables:
# #
GIT_STRATEGY: fetch GIT_STRATEGY: fetch
GIT_DEPTH: "3" GIT_DEPTH: "3"
# "--enable-coverage" or ""
SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE: ""
# #
# we run autobuild.py inside a samba CI docker image located on gitlab's registry # we run autobuild.py inside a samba CI docker image located on gitlab's registry
# overwrite this variable if you want use your own image registry. # overwrite this variable if you want use your own image registry.
@ -89,7 +87,7 @@ include:
AUTOBUILD_JOB_NAME: $CI_JOB_NAME AUTOBUILD_JOB_NAME: $CI_JOB_NAME
stage: build stage: build
cache: cache:
key: ccache.${CI_JOB_NAME}.${SAMBA_CI_JOB_IMAGE} key: ccache.${CI_JOB_NAME}.${SAMBA_CI_JOB_IMAGE}.${SAMBA_CI_FLAVOR}
paths: paths:
- ccache - ccache
before_script: before_script:
@ -191,6 +189,7 @@ others:
# the acls again. # the acls again.
- cp -a /sha1sum.txt /tmp/samba-testbase/image-sha1sum.txt - cp -a /sha1sum.txt /tmp/samba-testbase/image-sha1sum.txt
- cp -a /tmp/commit.txt /tmp/samba-testbase/commit.txt - cp -a /tmp/commit.txt /tmp/samba-testbase/commit.txt
- ln -s /tmp/samba-testbase/${AUTOBUILD_JOB_NAME}/ /tmp/samba-testbase/build_subdir_link
- pushd /tmp && getfacl -R samba-testbase > samba-testbase.acl.dump && popd - pushd /tmp && getfacl -R samba-testbase > samba-testbase.acl.dump && popd
- chmod -R +w /tmp/samba-testbase - chmod -R +w /tmp/samba-testbase
- mv /tmp/samba-testbase.acl.dump /tmp/samba-testbase/ - mv /tmp/samba-testbase.acl.dump /tmp/samba-testbase/
@ -213,6 +212,11 @@ others:
- diff -u /tmp/samba-testbase/commit.txt /tmp/commit.txt - diff -u /tmp/samba-testbase/commit.txt /tmp/commit.txt
- mv /tmp/samba-testbase/samba-testbase.acl.dump /tmp/samba-testbase.acl.dump - mv /tmp/samba-testbase/samba-testbase.acl.dump /tmp/samba-testbase.acl.dump
- pushd /tmp && setfacl --restore=/tmp/samba-testbase.acl.dump && popd - pushd /tmp && setfacl --restore=/tmp/samba-testbase.acl.dump && popd
- ls -la /tmp/samba-testbase/
- ls -la /tmp/samba-testbase/build_subdir_link
- ls -la /tmp/samba-testbase/build_subdir_link/
- if [ -n "$SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE" ]; then find /tmp/samba-testbase/build_subdir_link/ -type d -printf "'%p'\n" | xargs chmod u+w; fi
- ls -la /tmp/samba-testbase/build_subdir_link/
# gitlab predefines CI_JOB_NAME for each job. The gitlab job usually matches the # 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 # autobuild name, which means we can define a default template that runs most autobuild jobs
- script/autobuild.py $AUTOBUILD_JOB_NAME $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --skip-dependencies --verbose --nocleanup --keeplogs --tail --full-testbase /tmp/samba-testbase - script/autobuild.py $AUTOBUILD_JOB_NAME $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --skip-dependencies --verbose --nocleanup --keeplogs --tail --full-testbase /tmp/samba-testbase
@ -429,9 +433,12 @@ pages:
- samba-no-opath1 - samba-no-opath1
- samba-no-opath2 - samba-no-opath2
script: script:
- ls -la *.info
- ./configure.developer - ./configure.developer
- make -j - make -j
- ls -la *.info
- lcov $(ls *.info | xargs -I{} echo -n "-a {} ") -o all.info - lcov $(ls *.info | xargs -I{} echo -n "-a {} ") -o all.info
- ls -la *.info
- genhtml all.info --output-directory public --prefix=$(pwd) --title "coverage report for $CI_COMMIT_REF_NAME $CI_COMMIT_SHORT_SHA" - genhtml all.info --output-directory public --prefix=$(pwd) --title "coverage report for $CI_COMMIT_REF_NAME $CI_COMMIT_SHORT_SHA"
artifacts: artifacts:
expire_in: 30 days expire_in: 30 days