workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH
- if: $CI_COMMIT_TAG
variables:
DSPSR_BASE_IMAGE: registry.gitlab.com/ska-telescope/pst/ska-pst-dsp-tools/ska-pst-dspsr-builder:0.3.2
DSPSR_CONTAINER_NAME: dspsr_unittest-$CI_COMMIT_SHORT_SHA
DSPSR_IMAGE: $GITLAB_REGISTRY/dspsr:$CI_COMMIT_SHORT_SHA
PSRHOME: /home/pst
GITLAB_CI_TAG: k8srunner-psi-low
GITLAB_REGISTRY: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
image: $SKA_K8S_TOOLS_BUILD_DEPLOY
stages:
- build
- test
- functional-pipeline-tests
- cleanup
.common_ci_config:
artifacts:
paths:
- build
tags:
- $GITLAB_CI_TAG
rules:
- exists:
- Dockerfile
build-cpu:
extends:
- .common_ci_config
stage: build
image: $DSPSR_BASE_IMAGE
tags:
- ${SKA_DEFAULT_RUNNER}
script:
- echo "CPU Build test"
- ./bootstrap
- |
mkdir -p $PSRHOME/build/dspsr
cd $PSRHOME/build/dspsr &&
echo 'uwb dada sigproc dummy fits vdif ska1 cpsr2' > backends.list &&
$CI_PROJECT_DIR/configure &&
make -j$(nproc)
distcheck:
extends:
- .common_ci_config
script:
- echo "Execute make distcheck"
- docker run --rm --name $DSPSR_CONTAINER_NAME-distcheck -u root $DSPSR_IMAGE bash -c 'cd $PSRHOME/build/dspsr; make distcheck'
include:
- # DSPSR functional pipeline tests
local: '.gitlab/ci/functional-pipeline-tests.gitlab-ci.yml'
- # DSPSR unit tests
local: '.gitlab/ci/unit-tests.gitlab-ci.yml'
- # DSPSR OCI jobs
local: '.gitlab/ci/oci.gitlab-ci.yml'