From e791f67871fa7cf88823961d77ccfbeb26690988 Mon Sep 17 00:00:00 2001 From: "robert.tomczyk" Date: Tue, 12 Nov 2019 12:49:17 +0000 Subject: [PATCH] GEODE: Nordix CI pipeline for geode-native client Change-Id: I612726a1bc1f789161e1e13bd0c7b4da34b5a7f4 --- .../apache-geode-native-macros.yaml | 41 ++++++ .../apache-geode-native-slave-setup.yaml | 37 +++++ .../apache-geode-native-slave/slave_setup.sh | 135 ++++++++++++++++++ .../apache-geode-native-integration-test.yaml | 27 ++++ .../apache-geode-native-rat-check.yaml | 27 ++++ .../apache-geode-native-unit-test.yaml | 27 ++++ .../integrationtest.sh | 35 +++++ .../apache-geode-native-test/ratcheck.sh | 32 +++++ .../apache-geode-native-test/unittest.sh | 33 +++++ .../apache-geode-native-verify.yaml | 133 +++++++++++++++++ ...bal-template-apache-geode-native-test.yaml | 70 +++++++++ 11 files changed, 597 insertions(+) create mode 100644 jjb/geode-native/apache-geode-native-macros.yaml create mode 100644 jjb/geode-native/apache-geode-native-slave/apache-geode-native-slave-setup.yaml create mode 100755 jjb/geode-native/apache-geode-native-slave/slave_setup.sh create mode 100644 jjb/geode-native/apache-geode-native-test/apache-geode-native-integration-test.yaml create mode 100644 jjb/geode-native/apache-geode-native-test/apache-geode-native-rat-check.yaml create mode 100644 jjb/geode-native/apache-geode-native-test/apache-geode-native-unit-test.yaml create mode 100755 jjb/geode-native/apache-geode-native-test/integrationtest.sh create mode 100755 jjb/geode-native/apache-geode-native-test/ratcheck.sh create mode 100755 jjb/geode-native/apache-geode-native-test/unittest.sh create mode 100644 jjb/geode-native/apache-geode-native-verify.yaml create mode 100644 jjb/geode-native/global-template-apache-geode-native-test.yaml diff --git a/jjb/geode-native/apache-geode-native-macros.yaml b/jjb/geode-native/apache-geode-native-macros.yaml new file mode 100644 index 00000000..54d0da3d --- /dev/null +++ b/jjb/geode-native/apache-geode-native-macros.yaml @@ -0,0 +1,41 @@ +--- +# +# ============LICENSE_START===================================================== +# Copyright (C) 2019 Nordix Foundation. +# ============================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END======================================================= +# +# macros used by all geode-native job types +- builder: + name: 'apache-geode-native-setup-slave-macro' + builders: + - shell: + !include-raw: ./apache-geode-native-slave/slave_setup.sh +- builder: + name: 'apache-geode-native-ratcheck-macro' + builders: + - shell: + !include-raw: ./apache-geode-native-test/ratcheck.sh +- builder: + name: 'apache-geode-native-unittest-macro' + builders: + - shell: + !include-raw: ./apache-geode-native-test/unittest.sh +- builder: + name: 'apache-geode-native-integrationtest-macro' + builders: + - shell: + !include-raw: ./apache-geode-native-test/integrationtest.sh diff --git a/jjb/geode-native/apache-geode-native-slave/apache-geode-native-slave-setup.yaml b/jjb/geode-native/apache-geode-native-slave/apache-geode-native-slave-setup.yaml new file mode 100644 index 00000000..98611a46 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-slave/apache-geode-native-slave-setup.yaml @@ -0,0 +1,37 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +- job: + name: 'apache-geode-native-SlaveSetup' + + node: geode-sles15 + disabled: false + concurrent: true + + properties: + - logrotate + + parameters: + - string: + name: GEODE_NATIVE_DOCKER_IMAGE + default: 'apachegeode/geode-native-build' + description: JJB configured name of the geode-native build docker image based on Ubuntu 18.04 + + builders: + - 'apache-geode-native-setup-slave-macro' diff --git a/jjb/geode-native/apache-geode-native-slave/slave_setup.sh b/jjb/geode-native/apache-geode-native-slave/slave_setup.sh new file mode 100755 index 00000000..b08fa3fa --- /dev/null +++ b/jjb/geode-native/apache-geode-native-slave/slave_setup.sh @@ -0,0 +1,135 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +set -o nounset +set -o errexit +set -o pipefail +#set -o xtrace + +# Set build tools versions base on the: +# https://github.com/apache/geode-native/blob/develop/docker/Dockerfile +CLANG_VERSION="6.0" +GEODE_VERSION="1.10.0" +RAT_VERSION="0.13" +CMAKE_VERSION="3.12.2" + +# Additional repositories and build 3PPs +CLANG_SLES_REPO="https://download.opensuse.org/repositories/devel:/languages:/swift/SLE_15/" +GAMES_SLES_REPO="https://download.opensuse.org/repositories/games/SLE_15_SP1/" +GEODE_LOCATION="https://www.apache.org/dyn/closer.cgi?action=download&filename=geode/${GEODE_VERSION}/apache-geode-${GEODE_VERSION}.tgz" +RAT_LOCATION="https://www.apache.org/dyn/closer.cgi?action=download&filename=creadur/apache-rat-${RAT_VERSION}/apache-rat-${RAT_VERSION}-bin.tar.gz" +CMAKE_LOCATION="https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh" + +install_dev_packages() { + # Add Swift repository with clang6 compiler. + if ! zypper lr -n | egrep Swift-Programming-Language > /dev/null ; then + sudo zypper addrepo ${CLANG_SLES_REPO} "Swift-Programming-Language(SLES_15)" + fi + # Add Games repository with libjsoncpp library. + if ! zypper lr -n | egrep Games > /dev/null ; then + sudo zypper addrepo ${GAMES_SLES_REPO} "Games(SLE_15_SP1)" + fi + + echo "Info: Upgrade SLES and install all available patches" + echo "-------------------------------------------------------------" + sudo zypper --gpg-auto-import-keys refresh ; sudo zypper -q update -y + sudo zypper -q patches + + echo "Info: Install clang development environment" + echo "-------------------------------------------------------------" + sudo zypper -q install -y \ + libc++-devel \ + libc++abi-devel \ + libopenssl-devel \ + zlib-devel \ + clang${CLANG_VERSION%.*} \ + clang${CLANG_VERSION%.*}-checker \ + clang${CLANG_VERSION%.*}-devel \ + gcc \ + make \ + patch \ + doxygen \ + git \ + graphviz \ + java-1_8_0-openjdk-devel \ + wget + + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${CLANG_VERSION} 999 + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${CLANG_VERSION} 999 + sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-${CLANG_VERSION} 999 + sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 999 +} + +configure_geode_build() { + echo "Info: Install 3PPs required to build geode-native" + echo "-------------------------------------------------------------" + # The Geode is required on build server to compile geode-native + if [[ ! -d /opt/apache-geode-${GEODE_VERSION} ]] ; then + wget ${GEODE_LOCATION} -O - | sudo tar xzvf - -C /opt + else + echo "The Geode ${GEODE_VERSION} already installed." + fi + echo "-------------------------------------------------------------" + + # The Rat (Apache Release Audit Tool) is required to compile geode-native + if [[ ! -d /opt/apache-rat-${RAT_VERSION} ]] ; then + wget ${RAT_LOCATION} -O - | sudo tar xzvf - -C /opt + else + echo "The Apache RAT ${RAT_VERSION} already installed." + fi + echo "-------------------------------------------------------------" + + # cmake is required to generate a build system for geode-native + if [[ ! -f /usr/local/bin/cmake ]] ; then + wget ${CMAKE_LOCATION} -O /tmp/cmake + sudo bash /tmp/cmake --skip-license --prefix=/usr/local + rm -rf /tmp/cmake + elif ! /usr/local/bin/cmake -version | grep -q ${CMAKE_VERSION} ; then + echo "ERROR: Incorrect cmake version installed" + exit 3 + else + echo "The CMAKE ${CMAKE_VERSION} already installed." + fi + + # Export 3PPs location for geode-native build + export JAVA_HOME="/usr/lib64/jvm/java-openjdk" + export GEODE_HOME="/opt/apache-geode-${GEODE_VERSION}" + export RAT_HOME="/opt/apache-rat-${RAT_VERSION}" + export PATH="$PATH:$GEODE_HOME/bin" + + # Get the latest geode-native build docker image + docker pull ${GEODE_NATIVE_DOCKER_IMAGE} +} + +# Make sure the build server is SLES15 based +source /etc/os-release +case ${ID,,} in + sles) + if [[ "${VERSION}" != "15" ]] ; then + echo "ERROR: Incorrect version on SLES on the build server: ${VERSION}" + exit 1 + else + install_dev_packages + configure_geode_build + fi + ;; + *) + echo "ERROR: Only SLES15 can be use as a build server for this build" + exit 2 + ;; +esac diff --git a/jjb/geode-native/apache-geode-native-test/apache-geode-native-integration-test.yaml b/jjb/geode-native/apache-geode-native-test/apache-geode-native-integration-test.yaml new file mode 100644 index 00000000..e44afe09 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/apache-geode-native-integration-test.yaml @@ -0,0 +1,27 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +- project: + name: 'apache-geode-native-IntegrationTest' + test-type: 'IntegrationTest' + build-executor: 'apache-geode-native-integrationtest-macro' + + jobs: + - 'apache-geode-native-{test-type}' diff --git a/jjb/geode-native/apache-geode-native-test/apache-geode-native-rat-check.yaml b/jjb/geode-native/apache-geode-native-test/apache-geode-native-rat-check.yaml new file mode 100644 index 00000000..eb58ca91 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/apache-geode-native-rat-check.yaml @@ -0,0 +1,27 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +- project: + name: 'apache-geode-native-RatCheck' + test-type: 'RatCheck' + build-executor: 'apache-geode-native-ratcheck-macro' + + jobs: + - 'apache-geode-native-{test-type}' diff --git a/jjb/geode-native/apache-geode-native-test/apache-geode-native-unit-test.yaml b/jjb/geode-native/apache-geode-native-test/apache-geode-native-unit-test.yaml new file mode 100644 index 00000000..f47e7ab9 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/apache-geode-native-unit-test.yaml @@ -0,0 +1,27 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +- project: + name: 'apache-geode-native-UnitTest' + test-type: 'UnitTest' + build-executor: 'apache-geode-native-unittest-macro' + + jobs: + - 'apache-geode-native-{test-type}' diff --git a/jjb/geode-native/apache-geode-native-test/integrationtest.sh b/jjb/geode-native/apache-geode-native-test/integrationtest.sh new file mode 100755 index 00000000..91d8ecf5 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/integrationtest.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +set -o nounset +set -o errexit +set -o pipefail +#set -o xtrace + +GEODE_NATIVE_DIR="$(pwd)/geode-native" +SOURCE_DIR="/geode-native" + +DOCKER_ARGS="--volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}" +COMMAND="echo -e '\n*** Build ***\n' && mkdir build && cd build &&\ + cmake ${SOURCE_DIR} -DCMAKE_CXX_FLAGS=-stdlib=libc++ -DCMAKE_CXX_CLANG_TIDY=clang-tidy &&\ + cmake --build . -- -j${JOBS} && echo -e '\n*** Old Integration Tests ***\n' &&\ + cd ${SOURCE_DIR}/build/cppcache/integration-test && ctest --timeout 2000 -L STABLE -C Release -j1 &&\ + echo -e '\n*** New Integration Tests ***\n' &&\ + cd ${SOURCE_DIR}/build/cppcache/integration/test && ctest -j1" + +docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}" diff --git a/jjb/geode-native/apache-geode-native-test/ratcheck.sh b/jjb/geode-native/apache-geode-native-test/ratcheck.sh new file mode 100755 index 00000000..4fd7897d --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/ratcheck.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +set -o nounset +set -o errexit +set -o pipefail +#set -o xtrace + +GEODE_NATIVE_DIR="$(pwd)/geode-native" +SOURCE_DIR="/geode-native" + +DOCKER_ARGS="--volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}" +COMMAND="echo -e '\n*** Rat Check ***\n' && mkdir build && cd build &&\ + cmake ${SOURCE_DIR} -DUSE_RAT=ON &&\ + cmake --build . --target rat-check" + +docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}" diff --git a/jjb/geode-native/apache-geode-native-test/unittest.sh b/jjb/geode-native/apache-geode-native-test/unittest.sh new file mode 100755 index 00000000..fdc2c0f9 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-test/unittest.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +set -o nounset +set -o errexit +set -o pipefail +#set -o xtrace + +GEODE_NATIVE_DIR="$(pwd)/geode-native" +SOURCE_DIR="/geode-native" + +DOCKER_ARGS="--volume=${GEODE_NATIVE_DIR}:${SOURCE_DIR}" +COMMAND="echo -e '\n*** Unit Test ***\n' && mkdir build && cd build &&\ + cmake ${SOURCE_DIR} -DCMAKE_CXX_FLAGS=-stdlib=libc++ -DCMAKE_CXX_CLANG_TIDY=clang-tidy &&\ + cmake --build . -- -j${JOBS} && ./cppcache/test/apache-geode_unittests &&\ + git -C ${SOURCE_DIR} diff --exit-code" + +docker run ${DOCKER_ARGS} "${GEODE_NATIVE_DOCKER_IMAGE}" bash -c "${COMMAND}" diff --git a/jjb/geode-native/apache-geode-native-verify.yaml b/jjb/geode-native/apache-geode-native-verify.yaml new file mode 100644 index 00000000..fe4dfbf8 --- /dev/null +++ b/jjb/geode-native/apache-geode-native-verify.yaml @@ -0,0 +1,133 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +- project: + name: 'apache-geode-native-verify' + project: 'Nordix/geode-native' + + stream: + - 'develop': + branch: 'develop' + jobs: + - 'apache-geode-native-{stream}-verify' + +- job-template: + name: 'apache-geode-native-{stream}-verify' + project-type: multijob + disabled: false + concurrent: true + node: geode-sles15 + + parameters: + - string: + name: PROJECT + default: '{project}' + description: JJB configured PROJECT parameter to identify a Nordix GitHub project + - string: + name: BRANCH + default: '{branch}' + description: JJB configured BRANCH parameter for Nordix GitHub project + - string: + name: JOBS + default: '6' + description: JJB configured JOBS parameter. Specifies the number of make jobs to run simultaneously while building geode-native + - string: + name: GEODE_NATIVE_DOCKER_IMAGE + default: 'apachegeode/geode-native-build' + description: JJB configured name of the geode-native build docker image based on Ubuntu 18.04 + + properties: + - logrotate + - github: + url: 'https://github.com/Nordix/geode-native.git/' + - throttle: + max-per-node: 1 + max-total: 3 + option: project + + scm: + - git-scm-github: + branch: '{branch}' + refspec: '' + wipe_workspace: true + clean_before: false + base_dir: 'geode-native' + + triggers: + - github + + builders: + - multijob: + name: SlaveSetup + condition: SUCCESSFUL + execution-type: SEQUENTIALLY + projects: + - name: 'apache-geode-native-SlaveSetup' + current-parameters: true + git-revision: false + abort-all-job: true + node-parameters: true + - multijob: + name: RatCheck + condition: SUCCESSFUL + execution-type: SEQUENTIALLY + projects: + - name: 'apache-geode-native-RatCheck' + current-parameters: true + git-revision: true + abort-all-job: true + node-parameters: true + - multijob: + name: UnitTests + condition: SUCCESSFUL + execution-type: SEQUENTIALLY + projects: + - name: 'apache-geode-native-UnitTest' + current-parameters: true + git-revision: true + abort-all-job: true + node-parameters: true + - multijob: + name: IntegrationTests + condition: SUCCESSFUL + execution-type: SEQUENTIALLY + projects: + - name: 'apache-geode-native-IntegrationTest' + current-parameters: true + git-revision: true + abort-all-job: true + node-parameters: true +# - multijob: +# name: Build&Release +# condition: SUCCESSFUL +# execution-type: SEQUENTIALLY +# projects: +# - name: 'apache-geode-native-build-release' +# current-parameters: true +# git-revision: true +# abort-all-job: true +# node-parameters: true + +# publishers: +# - notify-slack: +# slack-channel: '#geode' +# notify-start: true +# notify-success: true +# notify-failure: true +# notify-back-to-normal: true \ No newline at end of file diff --git a/jjb/geode-native/global-template-apache-geode-native-test.yaml b/jjb/geode-native/global-template-apache-geode-native-test.yaml new file mode 100644 index 00000000..2d4f4343 --- /dev/null +++ b/jjb/geode-native/global-template-apache-geode-native-test.yaml @@ -0,0 +1,70 @@ +--- +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +- job-template: + name: 'apache-geode-native-{test-type}' + + node: geode-sles15 + disabled: false + concurrent: true + + properties: + - logrotate + - github: + url: 'https://github.com/Nordix/geode-native.git/' + + parameters: + - string: + name: PROJECT + default: 'Nordix/geode-native' + description: JJB configured PROJECT parameter to identify a Nordix GitHub project + - string: + name: BRANCH + default: 'release-nordix/1.10.0' + description: JJB configured BRANCH parameter for Nordix GitHub project + - string: + name: JOBS + default: '6' + description: JJB configured JOBS parameter. Specifies the number of make jobs to run simultaneously while building geode-native + - string: + name: GEODE_NATIVE_DOCKER_IMAGE + default: 'apachegeode/geode-native-build' + description: JJB configured name of the geode-native build docker image based on Ubuntu 18.04 + + scm: + - git-scm-github: + branch: '$BRANCH' + refspec: '' + wipe_workspace: true + clean_before: false + base_dir: 'geode-native' + + builders: + - '{build-executor}' + + publishers: + - workspace-cleanup: + clean-if: + - failure: false +# - notify-slack: +# slack-channel: '#geode' +# notify-start: true +# notify-success: true +# notify-failure: true +# notify-back-to-normal: true -- 2.25.1