Page MenuHomeHEPForge

No OneTemporary

Index: trunk/.gitlab-ci.yml
===================================================================
--- trunk/.gitlab-ci.yml (revision 8266)
+++ trunk/.gitlab-ci.yml (revision 8267)
@@ -1,555 +1,554 @@
stages:
- build
- deploy
- daily
- weekly
- weekly-applications
- weekly-report
variables:
NAGFOR_OPTIONS: "-w=all -gline -C=all -nan -f2008"
GFORTRAN_OPTIONS: "-fbacktrace -fcheck=array-temps,bounds,do,mem,pointer"
JOBS: "-j2"
.default_template: &default_definition
stage: build
before_script:
- ./build_master.sh
- autoreconf
- test opam && eval `opam config env --root=/opt/opam`
- mkdir build || true
- cd build
except:
- production
- schedules
- /^.*xfail.*$/
artifacts:
expire_in: 3 weeks
when: always
paths:
- build/configure.log
- build/make.log
- build/make-install.log
- build/circe2/tests/test-suite.log
- build/omega/tests/test-suite.log
- build/vamp/tests/test-suite.log
- build/tests/unit_tests/test-suite.log
- build/tests/unit_tests/err-output/*
- build/tests/functional_tests/test-suite.log
.docker_template: &docker_definition
variables:
GIT_SSL_NO_VERIFY: "1"
tags:
- docker
# SMALL TEST SUITE (BRANCHES)
gfortran-5.5.0-fully:
<<: *default_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-tools
script:
- export LD_LIBRARY_PATH=/home/whizard/OpenLoops/lib:$LD_LIBRARY_PATH
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" --enable-hoppet --enable-fastjet --enable-openloops --enable-pythia8 > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
nagfor-6:
<<: *default_definition
script:
- ../configure FC=nagfor FCFLAGS="$NAGFOR_OPTIONS" F77=nagfor --disable-static --prefix="`pwd`/install" --enable-distribution > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- nagfor
- latex
ifort-19:
<<: *default_definition
script:
- source /opt/intel/2019/bin/compilervars.sh intel64
- ../configure FC=ifort2019 FCFLAGS="-O1" F77=ifort2019 --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- ifort
# BIG TEST SUITE (MASTER + TESTING BRANCHES)
.extra_template: &extra_definition
<<: *default_definition
only:
- master
- /^testing.*$/
.distcheck_template: &distcheck_script
script:
- ../configure FC=gfortran FCFLAGS="-O2 $GFORTRAN_OPTIONS" F77=gfortran --enable-distribution --enable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 DISTCHECK_CONFIGURE_FLAGS='FC=gfortran F77=gfortran --enable-distribution --disable-noweb-force' distcheck > make-distcheck.log
.distcheck_template: &distcheck_definition
<<: *default_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-5.5.0
<<: *distcheck_script
<<: *docker_definition
only:
- master
- /^testing.*$/
artifacts:
expire_in: 3 weeks
when: always
paths:
- build/configure.log
- build/make.log
- build/make-install.log
- build/circe2/tests/test-suite.log
- build/omega/tests/test-suite.log
- build/vamp/tests/test-suite.log
- build/tests/unit_tests/test-suite.log
- build/tests/unit_tests/err-output/*
- build/tests/functional_tests/test-suite.log
- "build/whizard*.tar.gz"
- build/make-distcheck.log
after_script:
- find . -type f -exec chmod 644 {} +
- find . -type d -exec chmod 755 {} +
- rm whizard*/ -rf
distcheck.static.gfortran-5.4.0:
<<: *distcheck_definition
gfortran-6.4.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-6.4.0
script:
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
gfortran-7.4.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-7.4.0
script:
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
gfortran-8.3.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-8.3.0
script:
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
gfortran-9.1.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-9.1.0
script:
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
osx.gfortran:
<<: *extra_definition
script:
- ../configure FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --prefix="`pwd`/install" --enable-distribution --enable-hepmc --enable-lcio --enable-lhapdf --enable-hoppet --enable-fastjet --enable-looptools LOOPTOOLS_DIR=/usr/local/lib --enable-gosam --enable-openloops --enable-recola --enable-pythia8 > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- osx
disabled.static.nagfor-6:
<<: *extra_definition
script:
- ../configure --disable-lhapdf --disable-hepmc --disable-lcio --disable-pythia8 --disable-fastjet --disable-hoppet --disable-gosam --disable-openloops --disable-looptools --disable-pythia6 --enable-distribution FC=nagfor FCFLAGS="$NAGFOR_OPTIONS" F77=nagfor --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- nagfor
- latex
extended.gfortran-5.4.0-fully:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-tools
script:
- export LD_LIBRARY_PATH=/home/whizard/OpenLoops/lib:$LD_LIBRARY_PATH
- ../configure --with-precision=extended FC=gfortran FCFLAGS="-O0 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" --enable-hoppet --enable-fastjet --enable-openloops --enable-pythia8 > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
openmp.gfortran-5.5.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-5.5.0
script:
- ../configure --enable-fc-openmp FC=gfortran FCFLAGS="-O1 $GFORTRAN_OPTIONS" F77=gfortran --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
mpi.gfortran-5.5.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-5.5.0-openmpi-2.1.1
script:
- ../configure --enable-fc-mpi FC=mpifort FCFLAGS="-O1 $GFORTRAN_OPTIONS" F77=mpifort --disable-static --prefix="`pwd`/install" > configure.log
- sed -i.bak 's/mpirun="mpirun -np 1"/mpirun="mpirun -np 1 --allow-run-as-root"/' tests/functional_tests/run_whizard.sh
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
parallel.gfortran-5.5.0:
<<: *extra_definition
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-5.5.0-openmpi-2.1.1
script:
- ../configure --enable-fc-openmp --enable-fc-mpi FC=mpifort FCFLAGS="-O1 $GFORTRAN_OPTIONS" F77=mpifort --disable-static --prefix="`pwd`/install" > configure.log
- sed -i.bak 's/mpirun="mpirun -np 1"/mpirun="mpirun -np 1 --allow-run-as-root"/' tests/functional_tests/run_whizard.sh
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
<<: *docker_definition
ifort-18:
<<: *extra_definition
script:
- source /opt/intel/2018/bin/compilervars.sh intel64
- ../configure FC=ifort2018 F77=ifort2018 --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- ifort
quadruple.ifort-18:
<<: *extra_definition
script:
- source /opt/intel/2018/bin/compilervars.sh intel64
- ../configure --with-precision=quadruple FC=ifort2018 FCFLAGS="-O1" F77=ifort2018 --disable-static --prefix="`pwd`/install" --enable-fastjet --enable-openloops > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
tags:
- ifort
# DEPLOY (MASTER)
.deploy_template: &deploy_definition
stage: deploy
tags:
- deployment
only:
- master
before_script:
- eval `ssh-agent -s`
- ssh-add /nfs/theoc/data1/whizard/sl7/gitlab_runner/id_rsa /nfs/theoc/data1/whizard/sl7/gitlab_runner/id_rsa_runner_wgs
except:
- production
- schedules
- /^.*xfail.*$/
notify slack:
<<: *deploy_definition
when: on_failure
script:
- echo "Build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\` See pipeline of https://gitlab.tp.nt.uni-siegen.de/whizard/development/commit/$CI_BUILD_REF" | slacktee.sh -a "danger" -p --config /nfs/theoc/data1/whizard/sl7/gitlab_runner/.slacktee
deploy to production:
<<: *deploy_definition
environment: production
script:
- export GIT_SSH=/nfs/theoc/data1/whizard/sl7/gitlab_runner/ssh.sh
- git remote set-url --push origin git@gitlab.tp.nt.uni-siegen.de:whizard/development.git
- git checkout production
- git merge master --ff-only
- git push
deploy to public git:
<<: *deploy_definition
environment: public_git
dependencies: []
script:
- export GIT_SSH=/nfs/theoc/data1/whizard/sl7/gitlab_runner/ssh.sh
- git checkout production
- git log --format="%h %s" -n 1 HEAD > `pwd`/../git_public.msg
- cd ..
- rm -rf public/
- git clone git@gitlab.tp.nt.uni-siegen.de:whizard/public.git
- rsync -r --delete --log-file=rsync.log --out-format='%i %n%L' --exclude=.git* development/ public
- - diff -r --exclude=.git* development public
- - if [ $? -ne 0 ]; then exit 1; fi
+ - diff -r --exclude=.git* development public || exit 1
- cp development/.gitignore public/
- mv rsync.log development/
- cd public
- echo -e ".gitignore" >> .gitignore
- echo -e ".gitlab/issue_templates" >> .gitignore
- echo -e "src/muli/doc/*" >> .gitignore
- echo -e ".gitlab-ci.yml" >> .gitignore
- echo -e "CONTRIBUTING.md" >> .gitignore
- echo -e "synchronize.sh" >> .gitignore
- echo -e "share/debug/*" >> .gitignore
- echo -e "build/*" >> .gitignore
- echo -e "install/*" >> .gitignore
- git add --all
- - git commit --file=`pwd`/../git_public.msg
+ - git diff-index --exit-code HEAD || git commit --file=`pwd`/../git_public.msg
- git push
artifacts:
expire_in: 3 weeks
when: always
paths:
- rsync.log
deploy to svn:
<<: *deploy_definition
environment: svn
script:
- svn co --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ svn+ssh://vcs@phab.hepforge.org/source/whizardsvn/trunk trunk
- cp .git trunk/ -r
- cd trunk
- git status
- git checkout -- .
- git clean -d -f
- svn diff --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ > ../svndiff.log || true
- svn status --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ | grep "^?" | grep -v '.git$' | awk '{print $2}' >| ../svn-add-files.log || true
- svn status --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ | grep "^\!" | grep -v '.git$' | awk '{print $2}' >| ../svn-del-files.log || true
- if test -s ../svn-add-files.log ; then cat ../svn-add-files.log | xargs svn add --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ ; fi
- if test -s ../svn-del-files.log ; then cat ../svn-del-files.log | xargs svn rm --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ ; fi
- git log --format="%h %s" -n 1 HEAD > svn-commit.msg
- svn commit --config-dir /nfs/theoc/data1/whizard/sl7/gitlab_runner/.subversion/ --file=svn-commit.msg
artifacts:
paths:
- svndiff.log
- svn-add-files.log
- svn-del-files.log
# NIGHTLY BUILD (DAILY)
build whizard tarball:
stage: daily
environment: nightly
only:
refs:
- schedules
variables:
- $type == "nightly"
before_script:
- ./build_master.sh
- autoreconf
- test opam && eval `opam config env --root=/opt/opam`
- mkdir build || true
- cd build
script:
- ../configure --enable-distribution FC=nagfor FCFLAGS="$NAGFOR_OPTIONS" F77=nagfor > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 dist > make-dist.log
- mv "$(ls whizard-*.tar.gz)" "$(basename $(ls whizard-*.tar.gz) .tar.gz)-$(date -Idate)-$(git rev-parse --short HEAD).tar.gz"
- ssh whizard@beryllium 'cd tarballs && rm -f whizard-nightly-latest.tar.gz'
- ssh whizard@beryllium 'cd tarballs && (for f in $(ls -1t *.tar.gz | tail -n +5); do rm -f "${f}"; done)'
- rsync whizard*.tar.gz whizard@beryllium:~/tarballs
- ssh whizard@beryllium 'cd tarballs && rm -f *.sig; for f in $(ls -tr1 *.tar.gz); do sha256sum "${f}" > "${f}.sig"; done'
- ssh whizard@beryllium 'cd tarballs && ln -sfn "$(ls -1t whizard-*.tar.gz | head -n1)" whizard-nightly-latest.tar.gz'
- ssh whizard@beryllium 'cd tarballs && ln -sfn "$(ls -1t whizard-*.tar.gz.sig | head -n1)" whizard-nightly-latest.tar.gz.sig'
artifacts:
expire_in: 3 weeks
when: always
paths:
- configure.log
- make.log
- make-dist.log
tags:
- jenkins2
- nagfor
- latex
# WHIZARD IMAGE (WEEKLY)
build whizard image:
stage: weekly
script:
- git clone https://${GITLAB_USER}:${GITLAB_PASSWORD}@gitlab.tp.nt.uni-siegen.de/whizard/docker.git
- docker build -t gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-master -f docker/whizard-master/Dockerfile .
- docker login -u ${GITLAB_USER} -p ${GITLAB_PASSWORD} gitlab.tp.nt.uni-siegen.de:4567
- docker push gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-master
- docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}
- docker tag gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-master whizard/whizard-weekly:master
- docker push whizard/whizard-weekly:master
tags:
- whizard
only:
refs:
- schedules
variables:
- $type == "weekly"
# GCC TRUNK IMAGE (WEEKLY)
build gcc-trunk image:
stage: weekly
script:
- git clone https://${GITLAB_USER}:${GITLAB_PASSWORD}@gitlab.tp.nt.uni-siegen.de/whizard/docker.git
- cd docker/whizard-gcc-trunk
- wget http://mirrors.ctan.org/install/fonts/doublestroke.tds.zip
- docker build --no-cache=true -t gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-trunk .
- docker login -u ${GITLAB_USER} -p ${GITLAB_PASSWORD} gitlab.tp.nt.uni-siegen.de:4567
- docker push gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-trunk
tags:
- whizard
only:
refs:
- schedules
variables:
- $type == "weekly"
# SUBPACKAGES (WEEKLY)
.subpackage_template: &subpackage_definition
<<: *distcheck_definition
stage: weekly
only:
refs:
- schedules
variables:
- $type == "weekly"
except:
circe1.distcheck.static.gfortran-5.5.0:
<<: *subpackage_definition
before_script:
- ./build_master.sh CIRCE1
- autoreconf
- mkdir -p build
- cd build
circe2.distcheck.static.gfortran-5.5.0:
<<: *subpackage_definition
before_script:
- ./build_master.sh CIRCE2
- autoreconf
- mkdir -p build
- cd build
vamp.distcheck.static.gfortran-5.5.0:
<<: *subpackage_definition
before_script:
- ./build_master.sh VAMP
- autoreconf
- mkdir -p build
- cd build
omega.distcheck.static.gfortran-5.5.0:
<<: *subpackage_definition
before_script:
- ./build_master.sh OMEGA
- autoreconf
- mkdir -p build
- cd build
script:
- ../configure FC=gfortran FCFLAGS="-O2 $GFORTRAN_OPTIONS" F77=gfortran --enable-distribution --enable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
- make $JOBS -s V=0 extra-distcheck > make-distcheck.log
whizard.distcheck.static.gfortran-5.5.0:
<<: *subpackage_definition
before_script:
- ./build_master.sh
- autoreconf
- mkdir -p build
- cd build
script:
- ../configure FC=gfortran FCFLAGS="-O2 $GFORTRAN_OPTIONS" F77=gfortran --enable-distribution --enable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
- make $JOBS -s V=0 extra-distcheck > make-distcheck.log
# EXAMPLES (WEEKLY)
.examples_template: &examples_definition
stage: weekly-applications
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-master
only:
refs:
- schedules
variables:
- $type == "weekly"
before_script:
- source /home/whizard/GoSam/local/bin/gosam_setup_env.sh
- cd ~/whizard/share/examples
<<: *docker_definition
run matching examples:
<<: *examples_definition
script:
- for s in *Matching*.sin ; do whizard $s; done
run NLO examples:
<<: *examples_definition
script:
- for s in *NLO*OpenLoops.sin ; do whizard $s; done
# - for s in *NLO*GoSam.sin ; do whizard $s; done
run collider examples:
<<: *examples_definition
script:
- for s in HERA_DIS.sin LEP_cc10.sin LEP_higgs.sin W-endpoint.sin Z-lineshape.sin ; do whizard $s; done
run other examples:
<<: *examples_definition
script:
- for s in Zprime.sin casc_dec.sin circe1.sin eeww_polarized.sin fourjetsLO.sin ; do whizard $s; done
build whizard with gcc-trunk:
<<: *default_definition
<<: *docker_definition
stage: weekly-applications
image: gitlab.tp.nt.uni-siegen.de:4567/whizard/development:whizard-gcc-trunk
only:
refs:
- schedules
variables:
- $type == "weekly"
except:
dependencies:
script:
- ../configure --disable-static --prefix="`pwd`/install" > configure.log
- make $JOBS -s V=0 > make.log
- make $JOBS -s V=0 install > make-install.log
- make $JOBS -s V=0 check
notify slack weekly:
stage: weekly-report
tags:
- deployment
only:
refs:
- schedules
variables:
- $type == "weekly"
before_script:
- eval `ssh-agent -s`
- ssh-add /nfs/theoc/data1/whizard/sl7/gitlab_runner/id_rsa /nfs/theoc/data1/whizard/sl7/gitlab_runner/id_rsa_runner_wgs
when: on_failure
script:
- echo "Weekly build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\`. See pipeline of https://gitlab.tp.nt.uni-siegen.de/whizard/development/commit/$CI_BUILD_REF" | slacktee.sh -a "warning" -p --config /nfs/theoc/data1/whizard/sl7/gitlab_runner/.slacktee

File Metadata

Mime Type
text/x-diff
Expires
Sat, Dec 21, 4:52 PM (14 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4023530
Default Alt Text
(20 KB)

Event Timeline