Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 11.52 KiB
image: docker:latest

variables:
  DOCKER_DRIVER: overlay
  BRANCH: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
  COMMIT: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
  NIGHTLY: $CI_REGISTRY_IMAGE:nightly
  TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG

  # Location of *.spec.in patch script and arguments:
  PATCHSCRIPT: patch_optimized_spec_file
  COMP: gcc
  PATCHFLAGS: -c $COMP -k --nocheck -f

before_script:
  # Enable gcc-devtoolset-7
  #- source /opt/rh/devtoolset-7/enable
  # Set up Intel Dev Environment:
  - source /opt/intel/bin/compilervars.sh intel64
  # Runtime and testing variables. Add these to the container on the "docker"
  # stage. 
  - export TMPDIR=/tmp
  - export GSTLAL_FIR_WHITEN=0
    
cache:
  key: $CI_JOB_NAME
  paths:
    - ccache

stages:
    - level0
    - level1
    - level2
    - test-gstlal
    - test-inspiral
    - test-burst
    - test-offline
    - docker
    - nightly-pages
    - verify

#
# build rpms
#

.levelN:rpm: &levelN-rpm-package
  image: containers.ligo.org/alexander.pace/gstlal-dev/gstlal-dev:el7
  variables:
    GIT_STRATEGY: fetch
    RPM_BUILD_CPUS: 4
  script:
    - if [ -d rpmbuild ]; then yum -y install rpmbuild/RPMS/x86_64/*.rpm; fi
    - cd ${CI_JOB_NAME#level?:rpm:}
    - ./00init.sh
    - $PATCHSCRIPT $PATCHFLAGS ./*.spec.in
    - ./configure --enable-gtk-doc $EXTRA_CONFIG_FLAGS
    - make
    - make dist
    # Install dependencies 
    - yum-builddep -y ${CI_JOB_NAME#level?:rpm:}.spec
    - rpmbuild -tb --define "_topdir $CI_PROJECT_DIR/rpmbuild" ${CI_JOB_NAME#level?:rpm:}-*.tar.gz
  artifacts:
    expire_in: 18h
    paths:
      - rpmbuild/RPMS/x86_64/${CI_JOB_NAME#level?:rpm:}-*.rpm
      - rpmbuild/RPMS/x86_64/python2-${CI_JOB_NAME#level?:rpm:}-*.rpm
  only:
    - schedules
    - tags
    - web