Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CMake/CTestCustom.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION

# KWStyle's internal utilities
".*KWStyle/Utilities.*"

# CircleCI distcc warning
".*WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED.*"
)

if(APPLE)
Expand Down
42 changes: 42 additions & 0 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
machine:
environment:
CTEST_DASHBOARD_ROOT: ${HOME}
CTEST_SOURCE_DIRECTORY: ${HOME}/ITK
CTEST_BINARY_DIRECTORY: ${HOME}/ITK-build
DASHBOARD_BRANCH_DIRECTORY: ${HOME}/ITK-dashboard
ITK_DATA_TAR: InsightData-4.10.1.tar.gz
ITK_DATA_TAR_URL: "https://sourceforge.net/projects/itk/files/itk/4.10/${ITK_DATA_TAR}"
ExternalData_OBJECT_STORES: ${HOME}/.ExternalData
DISTCC_TCP_CORK: "0"
DISTCC_DIR: ${HOME}/.distcc
DISTCC_SLOTS: 3
MAKEJ: $(expr $CIRCLE_NODE_TOTAL \* $DISTCC_SLOTS + 1)
CC: "distcc gcc"
CXX: "distcc g++"
post:
- env
- sudo apt-get install distcc
- sudo sed -i.bak s/STARTDISTCC=\"false\"/STARTDISTCC=\"true\"/g /etc/default/distcc && sudo /etc/init.d/distcc start
- sudo sed -i "s/false/true/g" /etc/default/sysstat && sudo sed -i "s/[0-9]*-[0-9]*\/[0-9]*/\*\/2/g" /etc/cron.d/sysstat && sudo service sysstat restart
- if [ ! -x "$ExternalData_OBJECT_STORES" ]; then wget --progress=dot:binary ${ITK_DATA_TAR_URL} && tar -zxf ${ITK_DATA_TAR} --strip-components=1 -C ${HOME} ; fi

dependencies:
cache_directories:
- "~/.ExternalData"
override:
- mkdir -p ${CTEST_BINARY_DIRECTORY}
- git clone --single-branch ${CIRCLE_REPOSITORY_URL} -b dashboard ${DASHBOARD_BRANCH_DIRECTORY}
- mkdir -p "${DISTCC_DIR}" && printf -- "--randomize localhost/2 --localslots=2\n" > "${DISTCC_DIR}/hosts" && for ((i=1;i<CIRCLE_NODE_TOTAL;i++)); do printf "ubuntu@node$i/${DISTCC_SLOTS}\n" >> "${DISTCC_DIR}/hosts"; done
- if [ $CIRCLE_NODE_INDEX -eq 0 ]; then mkdir -p ~/.ssh_tmp && printf -- "Host *\nControlMaster auto\nControlPath ~/.ssh_tmp/master-%%r@%%h:%%p\n" >> ~/.ssh/config ; fi


test:
override:
- ctest -V -S "${DASHBOARD_BRANCH_DIRECTORY}/circleci.cmake":
timeout: 1200
environment:
CTEST_OUTPUT_ON_FAILURE: 1
DASHBOARD_MODEL: $( [[ "$CIRCLE_BRANCH" = "master" ]] && echo Continuous || echo Experimental )
CTEST_CONFIGURATION_TYPE: "Release"
- sar:
parallel: true