default: image: docker.psi.ch:5000/sinqdev/sinqepics:latest stages: - lint - build - test cppcheck: stage: lint script: - cppcheck --std=c++17 --addon=cert --addon=misc --error-exitcode=1 src/*.cpp artifacts: expire_in: 1 week tags: - sinq formatting: stage: lint script: - clang-format --style=file --Werror --dry-run src/*.cpp artifacts: expire_in: 1 week tags: - sinq # clangtidy: # stage: lint # script: # - curl https://docker.psi.ch:5000/v2/_catalog # # - dnf update -y # # - dnf install -y clang-tools-extra # # - clang-tidy sinqEPICSApp/src/*.cpp sinqEPICSApp/src/*.c sinqEPICSApp/src/*.h -checks=cppcoreguidelines-*,cert-* # # tags: # # - sinq build_module: stage: build script: - export SINQMOTOR_VERSION="$(grep 'sinqMotor_VERSION=' Makefile | cut -d= -f2)" - git clone --depth 1 --branch "${SINQMOTOR_VERSION}" https://gitlab-ci-token:${CI_JOB_TOKEN}@git.psi.ch/sinq-epics-modules/sinqmotor.git - pushd sinqmotor - sed -i 's/ARCH_FILTER=.*/ARCH_FILTER=linux%/' Makefile - echo "LIBVERSION=${SINQMOTOR_VERSION}" >> Makefile - make install - popd - sed -i 's/ARCH_FILTER=.*/ARCH_FILTER=linux%/' Makefile - echo "LIBVERSION=${CI_COMMIT_TAG:-0.0.1}" >> Makefile - make install - cp -rT "/ioc/modules/turboPmac/$(ls -U /ioc/modules/turboPmac/ | head -1)" "./turboPmac-${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}" artifacts: name: "turboPmac-${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}" paths: - "turboPmac-${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}/*" expire_in: 1 week when: always tags: - sinq