110 lines
2.4 KiB
YAML
110 lines
2.4 KiB
YAML
variables:
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
GET_SOURCES_ATTEMPTS: 10
|
|
|
|
.scheduled-test:
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "schedule"
|
|
- if: $CI_MERGE_REQUEST_ID
|
|
when: manual
|
|
allow_failure: true
|
|
cache:
|
|
paths: ['*.status']
|
|
before_script:
|
|
- >
|
|
if [ -f "${CI_JOB_NAME}.status" ]; then
|
|
if [ "$(cat ${CI_JOB_NAME}.status)" == "${CI_COMMIT_SHA}" ]; then
|
|
echo "=== Commit ${CI_COMMIT_SHORT_SHA} already tested with job ${CI_JOB_NAME} ==="
|
|
exit 0
|
|
fi
|
|
fi
|
|
- >
|
|
if [ -n "${UPDATE_CMD}" ]; then
|
|
${UPDATE_CMD}
|
|
fi
|
|
- >
|
|
if [ -n "${INSTALL_CMD}" ]; then
|
|
${INSTALL_CMD}
|
|
fi
|
|
script:
|
|
- >
|
|
if [ -f "${CI_JOB_NAME}.status" ]; then
|
|
if [ "$(cat ${CI_JOB_NAME}.status)" == "${CI_COMMIT_SHA}" ]; then
|
|
echo "=== Commit ${CI_COMMIT_SHORT_SHA} already tested with job ${CI_JOB_NAME} ==="
|
|
exit 0
|
|
fi
|
|
fi
|
|
- rm -f ${CI_JOB_NAME}.status
|
|
- mkdir build
|
|
- cd build
|
|
- >
|
|
if [ -n "${CONFIGURE_CMD}" ]; then
|
|
${CONFIGURE_CMD}
|
|
else
|
|
cmake -G Ninja -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=_output -DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rtis ..
|
|
fi
|
|
- >
|
|
if [ -n "${BUILD_CMD}" ]; then
|
|
${BUILD_CMD}
|
|
else
|
|
ninja -v all
|
|
fi
|
|
- >
|
|
if [ -z "${CI_SHARED_ENVIRONMENT+x}" ]; then
|
|
if [ -n "${PACKAGE_CMD}" ]; then
|
|
${PACKAGE_CMD}
|
|
else
|
|
ninja -v install
|
|
ninja package
|
|
ninja package_source
|
|
fi
|
|
fi
|
|
- echo "${CI_COMMIT_SHA}" > "../${CI_JOB_NAME}.status"
|
|
artifacts:
|
|
paths:
|
|
- build/*.gz
|
|
- build/*.xz
|
|
- build/*.deb
|
|
when: on_success
|
|
expire_in: 10 days
|
|
|
|
|
|
.scheduled-smolensk15:
|
|
extends: .scheduled-test
|
|
image: smolensk15-dev
|
|
tags: ['docker']
|
|
|
|
.scheduled-orel212:
|
|
extends: .scheduled-test
|
|
image: orel212-dev
|
|
tags: ['docker']
|
|
|
|
.scheduled-bionic:
|
|
extends: .scheduled-test
|
|
image: bionic-dev
|
|
tags: ['docker']
|
|
|
|
.scheduled-focal:
|
|
extends: .scheduled-test
|
|
image: focal-dev
|
|
tags: ['docker']
|
|
|
|
.scheduled-elbrus:
|
|
extends: .scheduled-test
|
|
tags: ['elbrus']
|
|
|
|
.check-format-sources:
|
|
image: focal-dev
|
|
tags: ['docker']
|
|
script:
|
|
- >
|
|
if [ -n "${CHECK_FORMAT_SOURCES_CMD}" ]; then
|
|
${CHECK_FORMAT_SOURCES_CMD}
|
|
else
|
|
mkdir build
|
|
cd build
|
|
cmake -G Ninja ..
|
|
ninja check-format-sources
|
|
fi
|
|
|