Codebase list votca-csg / lintian-fixes/main .gitlab-ci.yml
lintian-fixes/main

Tree @lintian-fixes/main (Download .tar.gz)

.gitlab-ci.yml @lintian-fixes/mainraw · history · blame

stages:
  - canary
  - build

.build:
  retry:
    max: 2
  variables:
    CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
    DISTRO: "latest"
  image: votca/buildenv:${DISTRO}
  stage: build
  artifacts:
    paths:
      - ${CI_PROJECT_DIR}/votca
    when: always 
  dependencies: []
  cache:
    paths:
      - ccache/
  script:
    - ccache -z
    - j="$(grep -c processor /proc/cpuinfo 2>/dev/null)" || j=0; ((j++))
    - git branch commit_of_build_${CI_BUILD_ID} ${CI_COMMIT_SHA}
    - git clone https://github.com/votca/votca
    - pushd votca
    - if [[ ${CI_COMMIT_TAG} = v[12].[0-9]* ]]; then
        git checkout -b ${CI_COMMIT_TAG} ${CI_COMMIT_TAG};
      elif [[ ( ${CI_COMMIT_REF_NAME} =~ ^for/([^/]*)/.* || ${CI_COMMIT_REF_NAME} =~ ^(stable)$ ) && ${BASH_REMATCH[1]} != master ]]; then
        git checkout -b ${BASH_REMATCH[1]} origin/${BASH_REMATCH[1]};
      fi
    - git submodule update --recursive --init
    - git -C ${CI_PROJECT_NAME} fetch ${CI_PROJECT_DIR} commit_of_build_${CI_BUILD_ID}
    - git -C ${CI_PROJECT_DIR} branch -d commit_of_build_${CI_BUILD_ID}
    - git -C ${CI_PROJECT_NAME} checkout -f ${CI_COMMIT_SHA}
    - mkdir -p build
    - pushd build
    - cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=ON -DBUILD_CSGAPPS=ON -DBUILD_XTP=ON -DBUILD_CSG_MANUAL=ON -DENABLE_WERROR=ON
      -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_REGRESSION_TESTING=${REGRESSION_TESTING:-ON}
      -DBUILD_OWN_GROMACS=${BUILD_GROMACS} ${BUILD_GROMACS:+-DENABLE_WARNING_FLAGS=OFF -DENABLE_WERROR=OFF}
      -DMODULE_BUILD=${MODULE_BUILD} ${MODULE_BUILD:+-DCMAKE_INSTALL_PREFIX=/home/votca/votca.install}
      ${MINIMAL:+-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON -DCMAKE_DISABLE_FIND_PACKAGE_FFTW3=ON
      -DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON -DBUILD_MANPAGES=OFF -DWITH_GMX=OFF -DBUILD_XTP=OFF -DENABLE_REGRESSION_TESTING=OFF}
    - cmake --build . -- -j2
    - ctest --output-on-failure
    - test -z "${MODULE_BUILD}" && DESTDIR=${PWD}/install cmake --build . --target install && rm -rf ${PWD}/install/usr && rmdir ${PWD}/install
    - sudo cmake --build . --target install
    - if [[ ${CLANG_FORMAT} ]]; then cmake --build . --target format && git -C ${CI_PROJECT_DIR}/votca/${CI_PROJECT_NAME} diff --exit-code; fi
    - ccache -s

Debug GCC Format:
  stage: canary
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Debug"
    REGRESSION_TESTING: "OFF"
    CLANG_FORMAT: "yes"
  extends: .build

Debug GCC:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Debug"
  extends: .build

None GCC:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: ""
  extends: .build

None Clang:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: ""
  extends: .build

Debug Clang:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Debug"
  extends: .build

Release GCC:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
  extends: .build

Release Clang:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
  extends: .build

Debug GCC Ubuntu:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Debug"
    DISTRO: "ubuntu"
    REGRESSION_TESTING: "OFF"
  extends: .build

Debug Clang Ubuntu:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Debug"
    DISTRO: "ubuntu"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release GCC Ubuntu:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "ubuntu"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release Clang Ubuntu:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "ubuntu"
    REGRESSION_TESTING: "OFF"
  extends: .build

Debug GCC Rawhide:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Debug"
    DISTRO: "fedora_rawhide"
  extends: .build
  allow_failure: true

Debug Clang Rawhide:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Debug"
    DISTRO: "fedora_rawhide"
  extends: .build
  allow_failure: true

Release GCC Rawhide:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_rawhide"
  extends: .build
  allow_failure: true

Release Clang Rawhide:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_rawhide"
  extends: .build
  allow_failure: true

Release GCC Minimal:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    MINIMAL: "yes"
    DISTRO: "fedora_nogmx"
  extends: .build

Release Clang Minimal:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    MINIMAL: "yes"
    DISTRO: "fedora_nogmx"
  extends: .build

Release GCC Module:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    MODULE_BUILD: "yes"
  extends: .build

Release GCC GMX2019:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2019"
  extends: .build

Release Clang GMX2019:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2019"
  extends: .build

Release GCC GMX2019D:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2019_d"
  extends: .build

Release Clang GMX2019D:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2019_d"
  extends: .build

Release GCC GMX2020:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2020"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release Clang GMX2020:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2020"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release GCC GMX2020D:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2020_d"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release Clang GMX2020D:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx2020_d"
    REGRESSION_TESTING: "OFF"
  extends: .build

Release GCC GMX9999:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx9999"
    REGRESSION_TESTING: "OFF"
  extends: .build
  allow_failure: true

Release Clang GMX9999:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx9999"
    REGRESSION_TESTING: "OFF"
  extends: .build
  allow_failure: true

Release GCC GMX9999D:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx9999_d"
    REGRESSION_TESTING: "OFF"
  extends: .build
  allow_failure: true

Release Clang GMX9999D:
  variables:
    CC: "clang"
    CXX: "clang++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_gmx9999_d"
    REGRESSION_TESTING: "OFF"
  extends: .build
  allow_failure: true

Release GCC OWN GMX:
  variables:
    CC: "gcc"
    CXX: "g++"
    CMAKE_BUILD_TYPE: "Release"
    DISTRO: "fedora_nogmx"
    BUILD_GROMACS: "yes"
  extends: .build