From 7773de9f9bfbdf2417dbce154eaa01d87c5b686f Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Thu, 9 Apr 2020 21:05:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B0=D0=B2=D1=82=D0=BE=D1=81=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 21 +++++++++++ .gitlab-ci/scheduled.yml | 78 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 .gitlab-ci/scheduled.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..a47be1d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,21 @@ +include: + - local: .gitlab-ci/scheduled.yml + +smolensk15-nightly: + variables: + UPDATE_CMD: apt-get update + INSTALL_CMD: apt-get -y install cmake + extends: .scheduled-smolensk15 + +orel212-nightly: + extends: .scheduled-orel212 + +bionic-nightly: + extends: .scheduled-bionic + +focal-nightly: + extends: .scheduled-focal + +elbrus-nightly: + extends: .scheduled-elbrus + diff --git a/.gitlab-ci/scheduled.yml b/.gitlab-ci/scheduled.yml new file mode 100644 index 0000000..70a12fc --- /dev/null +++ b/.gitlab-ci/scheduled.yml @@ -0,0 +1,78 @@ +variables: + GIT_SUBMODULE_STRATEGY: recursive + GET_SOURCES_ATTEMPTS: 10 + +.scheduled-test: + only: + refs: + - schedules + 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 + - cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=_output -DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rtis .. + - ninja + - > + if [ -z "${CI_SHARED_ENVIRONMENT+x}" ]; then + ninja install + ninja package + ninja package_source + fi + - echo "${CI_COMMIT_SHA}" > "../${CI_JOB_NAME}.status" + artifacts: + paths: + - 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'] +