Skip to content

Commit

Permalink
Merge pull request #1708 from chuckatkins/enable-azure-pipelines
Browse files Browse the repository at this point in the history
Initial integration of azure pipelines
Chuck Atkins authored Sep 17, 2019

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 9cdaa79 + 6c07176 commit 9d92b20
Showing 79 changed files with 954 additions and 1,564 deletions.
50 changes: 4 additions & 46 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -5,18 +5,18 @@ defaults: &defaults
path: /home/adios2/source
- run:
name: Update
command: bash source/scripts/circle/runOnCircle.sh update
command: bash source/scripts/ci/runOnCircle.sh update
- run:
name: Configure
command: bash source/scripts/circle/runOnCircle.sh configure
command: bash source/scripts/ci/runOnCircle.sh configure
- run:
name: Build
command: bash source/scripts/circle/runOnCircle.sh build
command: bash source/scripts/ci/runOnCircle.sh build
- run:
name: Test
command: |
ulimit -c unlimited
bash source/scripts/circle/runOnCircle.sh test
bash source/scripts/ci/runOnCircle.sh test
- run:
command: |
mkdir -p /tmp/core_dumps
@@ -28,41 +28,6 @@ defaults: &defaults
version: 2

jobs:
"el7":
<<: *defaults
docker:
- image: ornladios/adios2-auto:el7

"el7-gnu8":
<<: *defaults
docker:
- image: ornladios/adios2-auto:el7-gnu8-ohpc

"el7-gnu8-openmpi":
<<: *defaults
docker:
- image: ornladios/adios2-auto:el7-gnu8-openmpi-ohpc

"el7-intel18":
<<: *defaults
docker:
- image: ornladios/adios2-auto:el7-intel18-ohpc

"el7-intel18-openmpi":
<<: *defaults
docker:
- image: ornladios/adios2-auto:el7-intel18-openmpi-ohpc

"suse-pgi":
<<: *defaults
docker:
- image: ornladios/adios2-auto:suse-pgi

"suse-pgi-openmpi":
<<: *defaults
docker:
- image: ornladios/adios2-auto:suse-pgi-openmpi

"fedora-ubsan":
<<: *defaults
docker:
@@ -77,12 +42,5 @@ workflows:
version: 2
build:
jobs:
- "el7"
- "el7-gnu8"
- "el7-gnu8-openmpi"
- "el7-intel18"
- "el7-intel18-openmpi"
- "suse-pgi"
- "suse-pgi-openmpi"
- "fedora-ubsan"
- "fedora-openmpi-ubsan"
1 change: 1 addition & 0 deletions CTestCustom.cmake.in
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
".*/thirdparty/.*/(.*\\.(c|cc|cxx|CC))"
"warning: Using '.*' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking"
"PGC.*compilation completed with warnings"
"Warning: stand-alone `data16' prefix"
)
list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
".*/thirdparty/.*"
59 changes: 59 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
trigger:
- master
- release

pr:
autoCancel: true
branches:
include:
- master
- release
paths:
exclude:
- docs/*

resources:
containers:
- container: el7
image: ornladios/adios2:el7
- container: el7-gnu8-ohpc
image: ornladios/adios2:el7-gnu8-ohpc
- container: el7-gnu8-openmpi-ohpc
image: ornladios/adios2:el7-gnu8-openmpi-ohpc
- container: el7-intel18-ohpc
image: ornladios/adios2:el7-intel18-ohpc
- container: el7-intel18-openmpi-ohpc
image: ornladios/adios2:el7-intel18-openmpi-ohpc
- container: suse-pgi
image: ornladios/adios2:suse-pgi
- container: suse-pgi-openmpi
image: ornladios/adios2:suse-pgi-openmpi

strategy:
matrix:
el7:
containerResource: el7
el7-gnu8-ohpc:
containerResource: el7-gnu8-ohpc
el7-gnu8-openmpi-ohpc:
containerResource: el7-gnu8-openmpi-ohpc
el7-intel18-ohpc:
containerResource: el7-intel18-ohpc
el7-intel18-openmpi-ohpc:
containerResource: el7-intel18-openmpi-ohpc
suse-pgi:
containerResource: suse-pgi
suse-pgi-openmpi:
containerResource: suse-pgi-openmpi

container: $[ variables['containerResource'] ]

steps:
- bash: scripts/ci/runOnAzure.sh update
name: Update
- bash: scripts/ci/runOnAzure.sh configure
name: Configure
- bash: scripts/ci/runOnAzure.sh build
name: Build
- bash: scripts/ci/runOnAzure.sh test
name: Test
4 changes: 2 additions & 2 deletions cmake/DetectOptions.cmake
Original file line number Diff line number Diff line change
@@ -11,9 +11,9 @@

# Blosc
if(ADIOS2_USE_Blosc STREQUAL AUTO)
find_package(Blosc)
find_package(Blosc 1.7)
elseif(ADIOS2_USE_Blosc)
find_package(Blosc REQUIRED)
find_package(Blosc 1.7 REQUIRED)
endif()
if(BLOSC_FOUND)
set(ADIOS2_HAVE_Blosc TRUE)
14 changes: 5 additions & 9 deletions cmake/FindBlosc.cmake
Original file line number Diff line number Diff line change
@@ -41,16 +41,12 @@ if(NOT BLOSC_FOUND)
find_path(BLOSC_INCLUDE_DIR blosc.h ${BLOSC_INCLUDE_OPTS})
find_library(BLOSC_LIBRARY blosc ${BLOSC_LIBRARY_OPTS})
if(BLOSC_INCLUDE_DIR)
file(STRINGS ${BLOSC_INCLUDE_DIR}/blosc.h _ver_strings
REGEX "BLOSC_VERSION_[^ ]* [0-9]+"
)
foreach(v IN LISTS _ver_strings)
string(REGEX MATCH "BLOSC_VERSION_([^ ]+) ([0-9]+)" v "${v}")
set(BLOSC_VERSION_${CMAKE_MATCH_1} ${CMAKE_MATCH_2})
endforeach()
set(BLOSC_VERSION
${BLOSC_VERSION_MAJOR}.${BLOSC_VERSION_MINOR}.${BLOSC_VERSION_PATCH}
file(STRINGS ${BLOSC_INCLUDE_DIR}/blosc.h _ver_string
REGEX [=[BLOSC_VERSION_STRING +"[^"]*"]=]
)
if(_ver_string MATCHES [=[BLOSC_VERSION_STRING +"([0-9]+.[0-9]+.[0-9]+)]=])
set(BLOSC_VERSION ${CMAKE_MATCH_1})
endif()
endif()

include(FindPackageHandleStandardArgs)
52 changes: 52 additions & 0 deletions scripts/ci/cmake/ci-common.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
if(NOT CTEST_BUILD_CONFIGURATION)
set(CTEST_BUILD_CONFIGURATION Debug)
endif()

if(NOT DEFINED NCPUS)
include(ProcessorCount)
ProcessorCount(NCPUS)
endif()
math(EXPR N2CPUS "${NCPUS}*2")
if(NOT CTEST_BUILD_FLAGS)
if(CTEST_CMAKE_GENERATOR STREQUAL "Unix Makefiles")
set(CTEST_BUILD_FLAGS "-k -j${N2CPUS}")
elseif(CTEST_CMAKE_GENERATOR STREQUAL "Ninja")
set(CTEST_BUILD_FLAGS "-k0 -j${N2CPUs}")
endif()
endif()
if(NOT CTEST_TEST_ARGS)
set(CTEST_TEST_ARGS PARALLEL_LEVEL ${N2CPUS})
endif()

if(NOT dashboard_model)
set(dashboard_model Experimental)
endif()
if(NOT dashboard_binary_name)
set(dashboard_binary_name "build")
endif()
if(NOT dashboard_track)
set(dashboard_track "Continuous Integration")
endif()
set(CTEST_GIT_COMMAND "/usr/bin/git")
if(NOT "$ENV{CI_COMMIT}" STREQUAL "")
set(dashboard_git_branch "$ENV{CI_COMMIT}")
set(CTEST_UPDATE_VERSION_ONLY ON)
endif()
if(NOT "$ENV{CI_SITE_NAME}" STREQUAL "")
set(CTEST_SITE "$ENV{CI_SITE_NAME}")
endif()
if(NOT "$ENV{CI_BUILD_NAME}" STREQUAL "")
set(CTEST_BUILD_NAME "$ENV{CI_BUILD_NAME}")
endif()
if(NOT "$ENV{CI_ROOT_DIR}" STREQUAL "")
set(CTEST_DASHBOARD_ROOT "$ENV{CI_ROOT_DIR}")
endif()
if(NOT "$ENV{CI_SOURCE_DIR}" STREQUAL "")
set(CTEST_SOURCE_DIRECTORY "$ENV{CI_SOURCE_DIR}")
endif()
if(NOT "$ENV{CI_BIN_DIR}" STREQUAL "")
set(CTEST_BINARY_DIRECTORY "$ENV{CI_BIN_DIR}")
endif()

list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/../../dashboard/adios_common.cmake)
34 changes: 34 additions & 0 deletions scripts/ci/cmake/ci-el7-gnu8-ohpc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Client maintainer: chuck.atkins@kitware.com

find_package(EnvModules REQUIRED)

env_module(purge)
env_module(load gnu8)
env_module(load py3-numpy)
env_module(load hdf5)

set(ENV{CC} gcc)
set(ENV{CXX} g++)
set(ENV{FC} gfortran)
set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")
set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")
set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")

set(ENV{CMAKE_PREFIX_PATH} "/opt/libfabric/1.6.0:$ENV{CMAKE_PREFIX_PATH}")

set(dashboard_cache "
ADIOS2_USE_BZip2:BOOL=ON
ADIOS2_USE_Blosc:BOOL=ON
ADIOS2_USE_DataMan:BOOL=ON
ADIOS2_USE_Fortran:BOOL=ON
ADIOS2_USE_HDF5:BOOL=ON
ADIOS2_USE_MPI:BOOL=OFF
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.4
")

set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
40 changes: 40 additions & 0 deletions scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Client maintainer: chuck.atkins@kitware.com

include(ProcessorCount)
ProcessorCount(NCPUS)
math(EXPR N2CPUS "${NCPUS}*2")

find_package(EnvModules REQUIRED)

env_module(purge)
env_module(load gnu8)
env_module(load py3-numpy)
env_module(load openmpi3)
env_module(load py3-mpi4py)

set(ENV{CC} gcc)
set(ENV{CXX} g++)
set(ENV{FC} gfortran)
set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")
set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")
set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch")

set(ENV{CMAKE_PREFIX_PATH} "/opt/libfabric/1.6.0:/opt/hdf5/1.10.4:$ENV{CMAKE_PREFIX_PATH}")

set(dashboard_cache "
ADIOS2_USE_BZip2:BOOL=ON
ADIOS2_USE_Blosc:BOOL=ON
ADIOS2_USE_DataMan:BOOL=ON
ADIOS2_USE_Fortran:BOOL=ON
ADIOS2_USE_HDF5:BOOL=ON
ADIOS2_USE_MPI:BOOL=ON
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS}
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.4
")

set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
34 changes: 34 additions & 0 deletions scripts/ci/cmake/ci-el7-intel18-ohpc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Client maintainer: chuck.atkins@kitware.com

find_package(EnvModules REQUIRED)

env_module(purge)
env_module(load intel)
env_module(load py2-numpy)
env_module(load hdf5)

set(ENV{CC} icc)
set(ENV{CXX} icpc)
set(ENV{FC} ifort)
set(ENV{CFLAGS} -Werror)
set(ENV{CXXFLAGS} -Werror)
set(ENV{FFLAGS} "-warn errors")

set(ENV{CMAKE_PREFIX_PATH} "/opt/libfabric/1.6.0:$ENV{CMAKE_PREFIX_PATH}")

set(dashboard_cache "
ADIOS2_USE_BZip2:BOOL=ON
ADIOS2_USE_Blosc:BOOL=ON
ADIOS2_USE_DataMan:BOOL=ON
ADIOS2_USE_Fortran:BOOL=ON
ADIOS2_USE_HDF5:BOOL=ON
ADIOS2_USE_MPI:BOOL=OFF
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2.7
")

set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
40 changes: 40 additions & 0 deletions scripts/ci/cmake/ci-el7-intel18-openmpi-ohpc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Client maintainer: chuck.atkins@kitware.com

include(ProcessorCount)
ProcessorCount(NCPUS)
math(EXPR N2CPUS "${NCPUS}*2")

find_package(EnvModules REQUIRED)

env_module(purge)
env_module(load intel)
env_module(load py2-numpy)
env_module(load openmpi3)
env_module(load py2-mpi4py)

set(ENV{CC} icc)
set(ENV{CXX} icpc)
set(ENV{FC} ifort)
set(ENV{CFLAGS} -Werror)
set(ENV{CXXFLAGS} -Werror)
set(ENV{FFLAGS} "-warn errors")

set(ENV{CMAKE_PREFIX_PATH} "/opt/libfabric/1.6.0:/opt/hdf5/1.10.4:$ENV{CMAKE_PREFIX_PATH}")

set(dashboard_cache "
ADIOS2_USE_BZip2:BOOL=ON
ADIOS2_USE_Blosc:BOOL=ON
ADIOS2_USE_DataMan:BOOL=ON
ADIOS2_USE_Fortran:BOOL=ON
ADIOS2_USE_HDF5:BOOL=ON
ADIOS2_USE_MPI:BOOL=ON
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS}
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2.7
")

set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
Loading

0 comments on commit 9d92b20

Please sign in to comment.