-
Adrien Crovato authoredAdrien Crovato authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 1.77 KiB
# gitlab-ci file for fpm
default:
image: rboman/waves-py3:2020.3
before_script:
- source /opt/intel/mkl/bin/mklvars.sh intel64
- source /opt/intel/tbb/bin/tbbvars.sh intel64
.global_tag: &global_tag_def
tags:
- mn2l
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: clone # workaround full clone for each pipeline (https://gitlab.com/gitlab-org/gitlab-runner/-/issues/26993)
GIT_LFS_SKIP_SMUDGE: 1 # do not pull LFS
stages:
- build
- format
- test
build:
<<: *global_tag_def
stage: build
script:
- git submodule init
- git submodule update
- rm -rf build workspace
- mkdir build
- cd build
- cmake -Wno-dev ..
- make -j $(nproc)
artifacts:
paths:
- build/
expire_in: 1 day
format:
<<: *global_tag_def
stage: format
script:
- clang-format --version # we use clang-format-10 exclusively
- ./ext/amfe/scripts/format_code.py
- mkdir -p patches
- if git diff --patch --exit-code > patches/clang-format.patch; then echo "Clang format changed nothing"; else echo "Clang format found changes to make!"; false; fi
artifacts:
paths:
- patches/
expire_in: 1 day
when: on_failure
dependencies:
- build
allow_failure: true
doxygen:
<<: *global_tag_def
stage: test
script:
- cd build
- make dox
artifacts:
paths:
- build/doxygen/
expire_in: 1 week
dependencies:
- build
ctest:
<<: *global_tag_def