# SPDX-FileCopyrightText: 2020 CERN (home.cern)
#
# SPDX-License-Identifier: LGPL-2.1-or-later

variables:
  GIT_SUBMODULE_STRATEGY: normal

include:
  - project: 'be-cem-edl/evergreen/gitlab-ci'
    ref: master
    file:
      - 'edl-gitlab-ci.yml'

cppcheck:
  stage: analyse
  image:
    name: gitlab-registry.cern.ch/coht/common-containers/static-analysis:latest
  script:
    - make -C software cppcheck

flawfinder:
  stage: analyse
  image:
    name: gitlab-registry.cern.ch/coht/common-containers/static-analysis:latest
  script:
    - make -C software/tools flawfinder

documentation:
  stage: build
  image:
    name: gitlab-registry.cern.ch/coht/common-containers/documentation:latest
  script:
    - make -C doc html
    - mkdir -p $EDL_CI_EOS_OUTPUT_DIR
    - cp -a doc/_build/html/* $EDL_CI_EOS_OUTPUT_DIR
  artifacts:
    paths:
      - $EDL_CI_EOS_OUTPUT_DIR

.script_fetch_kernel_dep: &script_fetch_kernel_dep
  - git clone -b v1.1.5 --depth 1 https://ohwr.org/project/fmc-sw.git ~/git/fmc
  - export FMC=~/git/fmc
  - git clone -b v1.4.4 --depth 1 https://ohwr.org/project/zio.git ~/git/zio
  - export ZIO=~/git/zio

.script_build_kernel_dep: &script_build_kernel_dep
  - make -C $FMC/drivers/fmc all
  - make -C $ZIO/drivers/zio all

build-centos-7:
  stage: build
  variables:
    KERNELSRC: /usr/src/kernels/*/
  image:
    name: gitlab-registry.cern.ch/coht/common-containers/build-centos-7:latest
  before_script:
    - *script_fetch_kernel_dep
    - *script_build_kernel_dep
  script:
    - export KERNELSRC=/usr/src/kernels/*/
    - make -C software

build-kernel:
  stage: build
  allow_failure: true
  image:
    name: gitlab-registry.cern.ch/coht/common-containers/build-kernel:latest
  parallel:
    matrix:
      - VERSION: [5.10.149, 5.15.74]
  before_script:
    - *script_fetch_kernel_dep
  script:
    - source /linux-versions.sh
    - fetch $VERSION && prepare $VERSION && export KERNELSRC=$(linux $VERSION)
    - *script_build_kernel_dep
    - make -C software/kernel all
