diff --git a/circle.yml b/circle.yml index f57b9e66cf..1564fe0941 100644 --- a/circle.yml +++ b/circle.yml @@ -1,137 +1,135 @@ -# (c) Copyright 2014-2017 Hewlett-Packard Enterprise Development Company, L.P. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License v2.0 which accompany this distribution. -# -# The Apache License is available at -# http://www.apache.org/licenses/LICENSE-2.0 -# -######################################################################################################################## - -# ENV VARS SET IN CIRCLE UI: -# - BUILD_MODE: set to a value - e.g. CHANGES_ONLY to activate (this is POC mode) -# - DO_API_TOKEN -# - DO_DROPLET_SSH_PRIVATE_KEY -# - DO_DROPLET_SSH_PUBLIC_KEY_ID -# - DO_REGION - -general: - artifacts: - - "./cslang-builder/logs/builder.log" - -machine: - environment: - # "${CIRCLE_PR_NUMBER}" = "" denotes that the build is not part of a fork PR - # ignore test suites on node 1 in fork builds - ACTIVE_CI_TEST_SUITES_DROPLETS_NODE_1: $(if [ "${CIRCLE_PR_NUMBER}" = "" ]; then echo '!default,coreos,cadvisor,docker-circleci'; else echo '!default'; fi) - ACTIVE_CI_TEST_SUITES_DROPLETS_NODE_2: $(if [ "${CIRCLE_PR_NUMBER}" = "" ]; then echo '!default,swarm'; else echo '!default'; fi) - - COREOS_MACHINE_NAMES_1: "ci-${CIRCLE_BUILD_NUM}-coreos-1 ci-${CIRCLE_BUILD_NUM}-coreos-2 ci-${CIRCLE_BUILD_NUM}-coreos-3" - COREOS_MACHINE_NAMES_2: "ci-${CIRCLE_BUILD_NUM}-coreos-4 ci-${CIRCLE_BUILD_NUM}-coreos-5 ci-${CIRCLE_BUILD_NUM}-coreos-6" - RULE_DROPLET_MACHINE_NOT_FORK_1: '[ "${CIRCLE_PR_NUMBER}" = "" ] && [ "${CIRCLE_NODE_INDEX}" = "1" ]' - RULE_DROPLET_MACHINE_NOT_FORK_2: '[ "${CIRCLE_PR_NUMBER}" = "" ] && [ "${CIRCLE_NODE_INDEX}" = "2" ]' - CLOUD_CONFIG_FILE: 'ci-env/circleci/cloud-config.yaml' - DROPLETS_FILE_1: "droplets_${CIRCLE_BUILD_NUM}_1.txt" - DROPLETS_FILE_2: "droplets_${CIRCLE_BUILD_NUM}_2.txt" - COREOS_PLACEHOLDERS_1: ' ' - COREOS_PLACEHOLDERS_2: ' ' - CHANGES_ONLY_BUILD_MODE: '[ "${CIRCLE_BRANCH}" != "master" ] && [ -n $BUILD_MODE ]' - YODA_FILE_PATH: $(pwd)/cloud-slang-content/resources/base/examples/yoda/yoda_quotes.txt - TEST: $(ls) - - JAVA_OPTS: -Xms400m -Xmx2g -XX:PermSize=128m -XX:MaxPermSize=256m - pre: - - sudo curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.8.2-circleci'; sudo chmod 0755 /usr/bin/docker; true - - services: - - docker - -dependencies: - override: -# - echo ${CIRCLE_BRANCH} -# - echo ${BUILD_MODE} -# - ? > -# if eval "${CHANGES_ONLY_BUILD_MODE}"; -# then echo 'Build mode: CHANGES_ONLY' -# && chmod +x ci-env/circleci/setup_changes_only_mode.sh -# && ci-env/circleci/setup_changes_only_mode.sh; -# else echo 'Build mode: BASIC'; -# fi -# : parallel: true -# - docker info -# - docker images -# - ? > ### machine 1 -# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; -# then chmod +x ci-env/circleci/create_droplets.sh -# && COREOS_MACHINE_NAMES=${COREOS_MACHINE_NAMES_1} DROPLETS_FILE=${DROPLETS_FILE_1} -# ci-env/circleci/create_droplets.sh; -# fi -# : parallel: true -# - ? > ### machine 2 -# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; -# then chmod +x ci-env/circleci/create_droplets.sh -# && COREOS_MACHINE_NAMES=${COREOS_MACHINE_NAMES_2} DROPLETS_FILE=${DROPLETS_FILE_2} -# ci-env/circleci/create_droplets.sh; -# fi -# : parallel: true -# - ? > ### machine 0 -# if [ "${CIRCLE_NODE_INDEX}" = "0" ]; -# then docker run -p 49154:25 -e maildomain=example.com -e smtp_user=user:pwd,otheruser:pwd --name postfix -d catatnight/postfix -# && docker run -d -p 8500:8500 -p 8600:8600/udp gituser173/consul -# && docker run -d -e SWAGGER_HOST=http://localhost -e SWAGGER_BASE_PATH=/v2 -p 3000:8080 swaggerapi/petstore; -# fi -# : parallel: true -# - ? > ### every machine -# wget https://github.com/CloudSlang/cloud-slang/releases/download/cloudslang-1.0.3/cslang-builder.zip -# && unzip cslang-builder.zip -# && chmod +x cslang-builder/bin/cslang-builder -# && mkdir cslang-builder/lib/Lib -# && pip install -r python-lib/requirements.txt -t cslang-builder/lib/Lib -# : parallel: true -# - ? > ### machine 1 -# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; -# then chmod +x ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh -# && DROPLETS_FILE=${DROPLETS_FILE_1} COREOS_PLACEHOLDERS=${COREOS_PLACEHOLDERS_1} -# ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh; -# fi -# : parallel: true -# - ? > ### machine 2 -# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; -# then chmod +x ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh -# && DROPLETS_FILE=${DROPLETS_FILE_2} COREOS_PLACEHOLDERS=${COREOS_PLACEHOLDERS_2} -# ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh; -# fi -# : parallel: true - - echo ${YODA_FILE_PATH} - - echo ${TEST} - - ? > ### machine 0 - if [ "${CIRCLE_NODE_INDEX}" = "0" ]; - then find configuration -type f -exec sed -i "s//${YODA_FILE_PATH}/g" {} +; - fi - : parallel: true - -test: - override: - - ? > - if eval "${CHANGES_ONLY_BUILD_MODE}"; - then CHANGES_PARAM="--changes-only $(pwd)/changed_items.txt"; - else CHANGES_PARAM=""; - fi - && case ${CIRCLE_NODE_INDEX} in - 0) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_0.properties ${CHANGES_PARAM} ;; - 1) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_1.properties ${CHANGES_PARAM} ;; - 2) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_2.properties ${CHANGES_PARAM} ;; - esac - : parallel: true - post: - - ? > ### machine 1 - if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; - then chmod +x ci-env/circleci/cleanup_env.sh - && DROPLETS_FILE=${DROPLETS_FILE_1} ci-env/circleci/cleanup_env.sh; - fi - : parallel: true - - ? > ### machine 2 - if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; - then chmod +x ci-env/circleci/cleanup_env.sh - && DROPLETS_FILE=${DROPLETS_FILE_2} ci-env/circleci/cleanup_env.sh; - fi - : parallel: true +# (c) Copyright 2014-2017 Hewlett-Packard Enterprise Development Company, L.P. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License v2.0 which accompany this distribution. +# +# The Apache License is available at +# http://www.apache.org/licenses/LICENSE-2.0 +# +######################################################################################################################## + +# ENV VARS SET IN CIRCLE UI: +# - BUILD_MODE: set to a value - e.g. CHANGES_ONLY to activate (this is POC mode) +# - DO_API_TOKEN +# - DO_DROPLET_SSH_PRIVATE_KEY +# - DO_DROPLET_SSH_PUBLIC_KEY_ID +# - DO_REGION + +general: + artifacts: + - "./cslang-builder/logs/builder.log" + +machine: + environment: + # "${CIRCLE_PR_NUMBER}" = "" denotes that the build is not part of a fork PR + # ignore test suites on node 1 in fork builds + ACTIVE_CI_TEST_SUITES_DROPLETS_NODE_1: $(if [ "${CIRCLE_PR_NUMBER}" = "" ]; then echo '!default,coreos,cadvisor,docker-circleci'; else echo '!default'; fi) + ACTIVE_CI_TEST_SUITES_DROPLETS_NODE_2: $(if [ "${CIRCLE_PR_NUMBER}" = "" ]; then echo '!default,swarm'; else echo '!default'; fi) + + COREOS_MACHINE_NAMES_1: "ci-${CIRCLE_BUILD_NUM}-coreos-1 ci-${CIRCLE_BUILD_NUM}-coreos-2 ci-${CIRCLE_BUILD_NUM}-coreos-3" + COREOS_MACHINE_NAMES_2: "ci-${CIRCLE_BUILD_NUM}-coreos-4 ci-${CIRCLE_BUILD_NUM}-coreos-5 ci-${CIRCLE_BUILD_NUM}-coreos-6" + RULE_DROPLET_MACHINE_NOT_FORK_1: '[ "${CIRCLE_PR_NUMBER}" = "" ] && [ "${CIRCLE_NODE_INDEX}" = "1" ]' + RULE_DROPLET_MACHINE_NOT_FORK_2: '[ "${CIRCLE_PR_NUMBER}" = "" ] && [ "${CIRCLE_NODE_INDEX}" = "2" ]' + CLOUD_CONFIG_FILE: 'ci-env/circleci/cloud-config.yaml' + DROPLETS_FILE_1: "droplets_${CIRCLE_BUILD_NUM}_1.txt" + DROPLETS_FILE_2: "droplets_${CIRCLE_BUILD_NUM}_2.txt" + COREOS_PLACEHOLDERS_1: ' ' + COREOS_PLACEHOLDERS_2: ' ' + CHANGES_ONLY_BUILD_MODE: '[ "${CIRCLE_BRANCH}" != "master" ] && [ -n $BUILD_MODE ]' + YODA_FILE_PATH: $(pwd)/cloud-slang-content/resources/base/examples/yoda/yoda_quotes.txt + JAVA_OPTS: -Xms400m -Xmx2g -XX:PermSize=128m -XX:MaxPermSize=256m + pre: + - sudo curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.8.2-circleci'; sudo chmod 0755 /usr/bin/docker; true + + services: + - docker + +dependencies: + override: +# - echo ${CIRCLE_BRANCH} +# - echo ${BUILD_MODE} +# - ? > +# if eval "${CHANGES_ONLY_BUILD_MODE}"; +# then echo 'Build mode: CHANGES_ONLY' +# && chmod +x ci-env/circleci/setup_changes_only_mode.sh +# && ci-env/circleci/setup_changes_only_mode.sh; +# else echo 'Build mode: BASIC'; +# fi +# : parallel: true +# - docker info +# - docker images +# - ? > ### machine 1 +# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; +# then chmod +x ci-env/circleci/create_droplets.sh +# && COREOS_MACHINE_NAMES=${COREOS_MACHINE_NAMES_1} DROPLETS_FILE=${DROPLETS_FILE_1} +# ci-env/circleci/create_droplets.sh; +# fi +# : parallel: true +# - ? > ### machine 2 +# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; +# then chmod +x ci-env/circleci/create_droplets.sh +# && COREOS_MACHINE_NAMES=${COREOS_MACHINE_NAMES_2} DROPLETS_FILE=${DROPLETS_FILE_2} +# ci-env/circleci/create_droplets.sh; +# fi +# : parallel: true +# - ? > ### machine 0 +# if [ "${CIRCLE_NODE_INDEX}" = "0" ]; +# then docker run -p 49154:25 -e maildomain=example.com -e smtp_user=user:pwd,otheruser:pwd --name postfix -d catatnight/postfix +# && docker run -d -p 8500:8500 -p 8600:8600/udp gituser173/consul +# && docker run -d -e SWAGGER_HOST=http://localhost -e SWAGGER_BASE_PATH=/v2 -p 3000:8080 swaggerapi/petstore; +# fi +# : parallel: true +# - ? > ### every machine +# wget https://github.com/CloudSlang/cloud-slang/releases/download/cloudslang-1.0.3/cslang-builder.zip +# && unzip cslang-builder.zip +# && chmod +x cslang-builder/bin/cslang-builder +# && mkdir cslang-builder/lib/Lib +# && pip install -r python-lib/requirements.txt -t cslang-builder/lib/Lib +# : parallel: true +# - ? > ### machine 1 +# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; +# then chmod +x ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh +# && DROPLETS_FILE=${DROPLETS_FILE_1} COREOS_PLACEHOLDERS=${COREOS_PLACEHOLDERS_1} +# ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh; +# fi +# : parallel: true +# - ? > ### machine 2 +# if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; +# then chmod +x ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh +# && DROPLETS_FILE=${DROPLETS_FILE_2} COREOS_PLACEHOLDERS=${COREOS_PLACEHOLDERS_2} +# ci-env/circleci/wait_for_droplets_and_update_test_inputs.sh; +# fi +# : parallel: true + - echo ${YODA_FILE_PATH} + - echo ${TEST} + - ? > ### machine 0 + if [ "${CIRCLE_NODE_INDEX}" = "0" ]; + then find configuration -type f -exec sed -i "s//${YODA_FILE_PATH}/g" {} + ; + fi + : parallel: true + +test: + override: + - ? > + if eval "${CHANGES_ONLY_BUILD_MODE}"; + then CHANGES_PARAM="--changes-only $(pwd)/changed_items.txt"; + else CHANGES_PARAM=""; + fi + && case ${CIRCLE_NODE_INDEX} in + 0) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_0.properties ${CHANGES_PARAM} ;; + 1) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_1.properties ${CHANGES_PARAM} ;; + 2) ./cslang-builder/bin/cslang-builder -des -cs -rcf $(pwd)/configuration/runconfig/lane_2.properties ${CHANGES_PARAM} ;; + esac + : parallel: true + post: + - ? > ### machine 1 + if eval "${RULE_DROPLET_MACHINE_NOT_FORK_1}"; + then chmod +x ci-env/circleci/cleanup_env.sh + && DROPLETS_FILE=${DROPLETS_FILE_1} ci-env/circleci/cleanup_env.sh; + fi + : parallel: true + - ? > ### machine 2 + if eval "${RULE_DROPLET_MACHINE_NOT_FORK_2}"; + then chmod +x ci-env/circleci/cleanup_env.sh + && DROPLETS_FILE=${DROPLETS_FILE_2} ci-env/circleci/cleanup_env.sh; + fi + : parallel: true diff --git a/configuration/properties/io/cloudslang/base/examples/yoda/samples_false.prop.sl b/configuration/properties/io/cloudslang/base/examples/yoda/samples_false.prop.sl index 7de9e04511..28868dfefa 100644 --- a/configuration/properties/io/cloudslang/base/examples/yoda/samples_false.prop.sl +++ b/configuration/properties/io/cloudslang/base/examples/yoda/samples_false.prop.sl @@ -16,4 +16,4 @@ namespace: io.cloudslang.base.examples.yoda properties: - default_quote: 'false' - - file_path: '' + - file_path: "" diff --git a/configuration/properties/io/cloudslang/base/examples/yoda/samples_none.prop.sl b/configuration/properties/io/cloudslang/base/examples/yoda/samples_none.prop.sl index df81e1ed92..3e4797d4ce 100644 --- a/configuration/properties/io/cloudslang/base/examples/yoda/samples_none.prop.sl +++ b/configuration/properties/io/cloudslang/base/examples/yoda/samples_none.prop.sl @@ -15,4 +15,4 @@ namespace: io.cloudslang.base.examples.yoda properties: - - file_path: '' + - file_path: ""