IAP GITLAB

Skip to content
Snippets Groups Projects
Forked from Air Shower Physics / corsika
2015 commits behind the upstream repository.
.gitlab-ci.yml 12.68 KiB
variables:
  GIT_STRATEGY: fetch # clone: fresh clone, fetch: update
  GIT_SSL_NO_VERIFY: "1"
  GIT_DEPTH: "1"
  # to re-use clones also in different forks
  GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_NAME
  ## Runtime options for sanitizers
  # (detect_leaks=0 because leak detection doesn't work in CI, but you can
  # try to test with leak detection locally by using detect_leaks=1)
  UBSAN_OPTIONS: "print_stacktrace=1"
  LSAN_OPTIONS: "log_threads=1"
  ASAN_OPTIONS: "detect_leaks=0:detect_stack_use_after_return=1"
  # location of AirShowerPhysics/corsika-data
  CORSIKA_DATA: "${CI_PROJECT_DIR}/modules/data" # the git submodule
  # _alternatively_ corsika-data can be downloaded as submodule:
  GIT_SUBMODULE_STRATEGY: normal # none: we get the submodules in before_script,
                                 # normal: get submodules automatically


#
# multi-step pipeline for each commit
#
# Mote: "Draft:" merge request, non-Draft merge requests and "Ready for Code Review" MR are all
#       handled explicitly
#
stages:
  - quality
  - config
  - build
  - test
  - build_test
  - example
  - build_test_example
  - install
  - optional




####### CODE QUALITY CHECK ##############

##########################################################
check-copyrights:
  image: corsika/devel:u-18.04
  stage: quality
  tags:
    - corsika
  script:
    - ./do-copyright.py
  rules:
    - if: $CI_MERGE_REQUEST_ID
    - if: $CI_COMMIT_TAG
    - if: $CI_COMMIT_BRANCH
  allow_failure: true

##########################################################
check-clang-format:
  image: corsika/devel:clang-8
  stage: quality
  tags:
    - corsika
  script:
    - ./do-clang-format.py --all
  rules:
    - if: $CI_MERGE_REQUEST_ID
    - if: $CI_COMMIT_TAG
    - if: $CI_COMMIT_BRANCH
  allow_failure: true

### CodeQuality tool ####