Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major CI rework #3067

Merged
merged 2 commits into from
Feb 24, 2022
Merged
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
72 changes: 44 additions & 28 deletions .github/workflows/everything.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,41 +41,17 @@ jobs:
needs: format
runs-on: ubuntu-latest
container:
image: ${{ matrix.container }}
image: ornladios/adios2:ci-spack-el8-${{ matrix.compiler }}-${{ matrix.parallel }}
options: --shm-size=1g
env:
GH_YML_JOBNAME: ${{ matrix.jobname }}
GH_YML_JOBNAME: el8-${{ matrix.compiler }}-${{ matrix.parallel }}
GH_YML_OS: Linux

strategy:
fail-fast: false
matrix:
jobname: [
el7,
el7-gnu8-ohpc,
el7-gnu8-openmpi-ohpc,
el7-gnu8-openmpi-ohpc-static,
suse-pgi,
suse-pgi-openmpi,
debian-sid,
debian-sid-openmpi ]
include:
- jobname: el7
container: ornladios/adios2:ci-el7
- jobname: el7-gnu8-ohpc
container: ornladios/adios2:ci-el7-gnu8-ohpc
- jobname: el7-gnu8-openmpi-ohpc
container: ornladios/adios2:ci-el7-gnu8-openmpi-ohpc
- jobname: el7-gnu8-openmpi-ohpc-static
container: ornladios/adios2:ci-el7-gnu8-openmpi-ohpc
- jobname: suse-pgi
container: ornladios/adios2:ci-suse-nvhpcsdk
- jobname: suse-pgi-openmpi
container: ornladios/adios2:ci-suse-nvhpcsdk-openmpi
- jobname: debian-sid
container: ornladios/adios2:ci-debian-sid
- jobname: debian-sid-openmpi
container: ornladios/adios2:ci-debian-sid
compiler: [ gcc8, gcc9, gcc10, gcc11, icc, oneapi, nvhpc222 ]
parallel: [ serial, mpi ]

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -138,6 +114,46 @@ jobs:
run: scripts/ci/gh-actions/run.sh test


macos:
needs: format
runs-on: ${{ matrix.image }}
env:
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.parallel }}
GH_YML_OS: macOS
GH_YML_XCODE: "${{ matrix.xcode }}"

strategy:
fail-fast: false
matrix:
os: [ macos10, macos11, macos11_12sdk ]
# parallel: [ serial, mpi ]
parallel: [ serial ]
include:
- os: macos10
image: macos-10.15
xcode: "12.1.1"
- os: macos11
image: macos-11
xcode: "13.0"
- os: macos11_12sdk
image: macos-11
xcode: "13.2.1"

steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup
run: scripts/ci/gh-actions/macos-setup.sh
- name: Update
run: scripts/ci/gh-actions/run.sh update
- name: Configure
run: scripts/ci/gh-actions/run.sh configure
- name: Build
run: scripts/ci/gh-actions/run.sh build
- name: Test
run: scripts/ci/gh-actions/run.sh test

#######################################
# Docker container jobs
#######################################
Expand Down
2 changes: 2 additions & 0 deletions CTestCustom.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"Warning: Rank mismatch between actual argument.*"
"zfp/types.h.*typedef"
"was built for newer macOS version"
"warning generated"
"warnings generated"
)
list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
".*/thirdparty/.*"
Expand Down
96 changes: 0 additions & 96 deletions azure-pipelines.yml

This file was deleted.

2 changes: 1 addition & 1 deletion examples/hello/bpFWriteCRead/CppReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int main(int argc, char *argv[])
const std::map<std::string, adios2::Params> variables =
bpIO.AvailableVariables();

for (const auto variablePair : variables)
for (const auto &variablePair : variables)
{
std::cout << "Name: " << variablePair.first;

Expand Down
2 changes: 1 addition & 1 deletion examples/hello/bpReader/helloBPReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ int main(int argc, char *argv[])
const std::map<std::string, adios2::Params> variables =
bpIO.AvailableVariables();

for (const auto variablePair : variables)
for (const auto &variablePair : variables)
{
std::cout << "Name: " << variablePair.first;

Expand Down
62 changes: 62 additions & 0 deletions scripts/ci/cmake-v2/ci-common.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()

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 PARALLEL_LEVEL IN_LIST CTEST_TEST_ARGS)
list(APPEND 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()
find_program(CTEST_GIT_COMMAND git)
if(NOT "$ENV{CI_COMMIT_REF}" STREQUAL "")
set(dashboard_git_branch "$ENV{CI_COMMIT_REF}")
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}")
set(CTEST_UPDATE_COMMAND ${CTEST_GIT_COMMAND})
set(CTEST_UPTATE_TYPE git)
set(CTEST_UPDATE_VERSION_ONLY TRUE)
include(${CMAKE_CURRENT_LIST_DIR}/../../dashboard/adios_common.cmake)
if(ctest_build_num_warnings GREATER 0)
message(FATAL_ERROR "Found ${ctest_build_num_warnings} warnings.")
endif()
34 changes: 34 additions & 0 deletions scripts/ci/cmake-v2/ci-el8-gcc10-mpi.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Client maintainer: chuck.atkins@kitware.com

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

set(ENV{CC} gcc)
set(ENV{CXX} g++)
set(ENV{FC} gfortran)

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=OFF
ADIOS2_USE_MPI:BOOL=ON
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_SZ:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
ADIOS2_USE_ZFP:BOOL=ON

CMAKE_C_FLAGS:STRING=-Wall
CMAKE_CXX_FLAGS:STRING=-Wall
CMAKE_Fortran_FLAGS:STRING=-Wall

MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe
MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS}
")

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

set(ENV{CC} gcc)
set(ENV{CXX} g++)
set(ENV{FC} gfortran)

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=OFF
ADIOS2_USE_MPI:BOOL=OFF
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_SZ:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
ADIOS2_USE_ZFP:BOOL=ON

CMAKE_C_FLAGS:STRING=-Wall
CMAKE_CXX_FLAGS:STRING=-Wall
CMAKE_Fortran_FLAGS:STRING=-Wall
")

set(CTEST_TEST_ARGS PARALLEL_LEVEL 1)
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-v2/ci-el8-gcc11-mpi.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Client maintainer: chuck.atkins@kitware.com

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

set(ENV{CC} gcc)
set(ENV{CXX} g++)
set(ENV{FC} gfortran)

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=OFF
ADIOS2_USE_MPI:BOOL=ON
ADIOS2_USE_Python:BOOL=ON
ADIOS2_USE_SZ:BOOL=ON
ADIOS2_USE_ZeroMQ:STRING=ON
ADIOS2_USE_ZFP:BOOL=ON

CMAKE_C_FLAGS:STRING=-Wall
CMAKE_CXX_FLAGS:STRING=-Wall
CMAKE_Fortran_FLAGS:STRING=-Wall

MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe
MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS}
")

set(CTEST_TEST_ARGS PARALLEL_LEVEL 1)
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