gitlab-ci/scheduled.yml

134 lines
3.0 KiB
YAML
Raw Normal View History

2019-09-22 10:56:30 +00:00
variables:
GIT_SUBMODULE_STRATEGY: recursive
2020-04-08 14:16:50 +00:00
GET_SOURCES_ATTEMPTS: 10
2019-09-22 10:56:30 +00:00
.scheduled-test:
variables:
CMAKE_GENERATOR: Ninja
2020-05-14 07:13:49 +00:00
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_PIPELINE_SOURCE == "web"
2020-05-14 07:13:49 +00:00
- if: $CI_MERGE_REQUEST_ID
when: manual
allow_failure: true
2019-09-22 10:56:30 +00:00
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
2020-04-08 14:16:50 +00:00
- >
if [ -n "${UPDATE_CMD}" ]; then
${UPDATE_CMD}
2020-04-08 14:16:50 +00:00
fi
- >
if [ -n "${INSTALL_CMD}" ]; then
${INSTALL_CMD}
2020-04-08 14:16:50 +00:00
fi
2019-09-22 10:56:30 +00:00
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 -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
cmake --build . -- -j $(nproc)
fi
2020-04-08 14:16:50 +00:00
- >
if [ -z "${CI_SHARED_ENVIRONMENT+x}" ]; then
if [ -n "${PACKAGE_CMD}" ]; then
${PACKAGE_CMD}
else
cmake --install .
cmake --build . --target package
cmake --build . --target package_source
fi
2020-04-08 14:16:50 +00:00
fi
2019-09-22 10:56:30 +00:00
- echo "${CI_COMMIT_SHA}" > "../${CI_JOB_NAME}.status"
artifacts:
paths:
- build/*.gz
2019-09-22 10:56:30 +00:00
- 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']
2020-04-08 14:16:50 +00:00
.scheduled-focal:
extends: .scheduled-test
image: focal-dev
tags: ['docker']
2019-09-22 10:56:30 +00:00
.scheduled-elbrus:
extends: .scheduled-test
tags: ['elbrus']
.check-format-sources:
variables:
CMAKE_GENERATOR: Ninja
image: focal-dev
tags: ['format']
script:
- >
mkdir build
cd build
cmake ..
cmake --build . --target check-format-sources
.myx-cmake-format-sources-check:
variables:
CMAKE_GENERATOR: Ninja
image: focal-dev
tags: ['format']
script:
- >
mkdir build
cd build
cmake ..
cmake --build . --target myx-cmake-format-sources-check
.format-sources-check-custom:
variables:
CMAKE_GENERATOR: Ninja
image: focal-dev
tags: ['format']
script:
- >
if [ -n "${CHECK_FORMAT_SOURCES_CMD}" ]; then
${CHECK_FORMAT_SOURCES_CMD}
fi