diff --git a/ci/config.yaml b/ci/config.yaml index 8eb96250..60199aea 100644 --- a/ci/config.yaml +++ b/ci/config.yaml @@ -75,7 +75,6 @@ setup: # setup from vt amd64-ubuntu-20.04-gcc-9-12.2.0-cpp: &amd64-ubuntu-20_04-gcc-9-12_2_0-cpp label: vt, gcc-9, ubuntu, cuda 12.2, mpich - env: { <<: *env, CC: gcc-9, CXX: nvcc_wrapper } deps: packages: !extend [ *apt-packages, gcc-9, g++-9 ] cmake: *cmake-args # 3.23.4 in vt but seems to be an error with vtk tiff build because error in Cmake CheckSize. @@ -83,6 +82,7 @@ setup: env: { CC: gcc-9, CXX: g++9 } args: ['3.3.2', '-j4'] nvcc_wrapper: ~ + env: { <<: *env, CC: gcc-9, CXX: nvcc_wrapper } amd64-ubuntu-20.04-gcc-9-11.2.2-cpp: <<: *amd64-ubuntu-20_04-gcc-9-12_2_0-cpp diff --git a/ci/docker/base.dockerfile b/ci/docker/base.dockerfile index 49e1eaba..753dbe58 100644 --- a/ci/docker/base.dockerfile +++ b/ci/docker/base.dockerfile @@ -1,4 +1,4 @@ -# Build an image with some configured packages and dependencies +# Base dockerfile to build images used in Darma testing. ARG ARCH=amd64 ARG BASE=ubuntu:22.04 @@ -11,32 +11,25 @@ ARG FC=${FC:-""} FROM --platform=${ARCH} ${BASE} as base -ARG SETUP_ID -ARG CC -ARG CXX -ARG GCOV -ARG MPICH_CC -ARG MPICH_CXX +ARG SETUP_ID \ + CC \ + CXX \ + GCOV \ + CMAKE_BUILD_TYPE \ + CMAKE_CXX_STANDARD \ + MPICH_CC \ + MPICH_CXX -ARG CMAKE_BUILD_TYPE -ARG CMAKE_CXX_STANDARD - -# Environment +# Test environment variables ENV DOCKER_RUN=1 \ CC=$CC \ CXX=$CXX \ - MPICH_CC=$MPICH_CC \ - MPICH_CXX=$MPICH_CXX \ GCOV=$GCOV \ - \ CONDA_INSTALL_DIR=/opt/conda \ CONDA_AUTO_ACTIVATE_BASE=false \ - \ VTK_DIR=/opt/vtk/build \ - \ LESSCHARSET=utf-8 \ - \ - PATH=/opt/cmake/bin:/opt/nvcc_wrapper/bin:/opt/vtk/bin:$PATH + PATH=/usr/lib/ccache:/opt/cmake/bin:/opt/nvcc_wrapper/bin:/opt/vtk/bin:$PATH COPY ci/shared/scripts/setup-${SETUP_ID}.sh setup.sh diff --git a/ci/setup-template.sh b/ci/setup-template.sh index b28c05ec..4be72e12 100644 --- a/ci/setup-template.sh +++ b/ci/setup-template.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -82,6 +88,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -96,7 +106,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/deps/mpich.sh b/ci/shared/scripts/deps/mpich.sh index 5b849ed3..d79b2b52 100644 --- a/ci/shared/scripts/deps/mpich.sh +++ b/ci/shared/scripts/deps/mpich.sh @@ -32,9 +32,6 @@ cd ${mpich_name} --enable-fast=all \ --enable-g=none \ --enable-timing=none \ - CC=$CC \ - CXX=$CXX \ - FC=$FC \ ${installation_prefix:+ --prefix"=${installation_prefix}"} make ${make_flags} make install diff --git a/ci/shared/scripts/setup-amd64-alpine-clang-13-clang-13-cpp.sh b/ci/shared/scripts/setup-amd64-alpine-clang-13-clang-13-cpp.sh index 8db1287e..ec5a02f0 100644 --- a/ci/shared/scripts/setup-amd64-alpine-clang-13-clang-13-cpp.sh +++ b/ci/shared/scripts/setup-amd64-alpine-clang-13-clang-13-cpp.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -84,6 +90,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -98,7 +108,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-11.2.2-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-11.2.2-cpp.sh index 4d6e0890..97c62ad4 100644 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-11.2.2-cpp.sh +++ b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-11.2.2-cpp.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -88,6 +94,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -102,7 +112,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-12.2.0-cpp.sh b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-12.2.0-cpp.sh index 4d6e0890..97c62ad4 100644 --- a/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-12.2.0-cpp.sh +++ b/ci/shared/scripts/setup-amd64-ubuntu-20.04-gcc-9-12.2.0-cpp.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -88,6 +94,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -102,7 +112,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-macos-14-clang-14.sh b/ci/shared/scripts/setup-macos-14-clang-14.sh index ce81df23..2426605d 100644 --- a/ci/shared/scripts/setup-macos-14-clang-14.sh +++ b/ci/shared/scripts/setup-macos-14-clang-14.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -82,6 +88,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -96,7 +106,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-ubuntu-22.04-clang-11-vtk-9.2.2-py-3.all.sh b/ci/shared/scripts/setup-ubuntu-22.04-clang-11-vtk-9.2.2-py-3.all.sh index 4eb4ce5d..9e18f7c2 100644 --- a/ci/shared/scripts/setup-ubuntu-22.04-clang-11-vtk-9.2.2-py-3.all.sh +++ b/ci/shared/scripts/setup-ubuntu-22.04-clang-11-vtk-9.2.2-py-3.all.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -96,6 +102,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -110,7 +120,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-ubuntu-22.04-gcc-11-vtk-9.2.2-py-3.all.sh b/ci/shared/scripts/setup-ubuntu-22.04-gcc-11-vtk-9.2.2-py-3.all.sh index 418a1d8f..9652c1e1 100644 --- a/ci/shared/scripts/setup-ubuntu-22.04-gcc-11-vtk-9.2.2-py-3.all.sh +++ b/ci/shared/scripts/setup-ubuntu-22.04-gcc-11-vtk-9.2.2-py-3.all.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -96,6 +102,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -110,7 +120,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-ubuntu-22.04-gcc-12-vtk-9.3.0-py-3.all.sh b/ci/shared/scripts/setup-ubuntu-22.04-gcc-12-vtk-9.3.0-py-3.all.sh index fc2432c5..11313fe9 100644 --- a/ci/shared/scripts/setup-ubuntu-22.04-gcc-12-vtk-9.3.0-py-3.all.sh +++ b/ci/shared/scripts/setup-ubuntu-22.04-gcc-12-vtk-9.3.0-py-3.all.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -96,6 +102,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -110,7 +120,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/shared/scripts/setup-ubuntu-24.04-gcc-13-vtk-9.3.1-py-3.all.sh b/ci/shared/scripts/setup-ubuntu-24.04-gcc-13-vtk-9.3.1-py-3.all.sh index 660b97ba..9774bf0e 100644 --- a/ci/shared/scripts/setup-ubuntu-24.04-gcc-13-vtk-9.3.1-py-3.all.sh +++ b/ci/shared/scripts/setup-ubuntu-24.04-gcc-13-vtk-9.3.1-py-3.all.sh @@ -14,6 +14,8 @@ SCRIPTS_INSTALL_DIR=/opt/scripts/ci # TODO: change 2-implement-common-docker-containers to master once scripts when PR is ready SCRIPTS_DEPS_URL="https://raw.githubusercontent.com/DARMA-tasking/workflows/refs/heads/2-implement-common-docker-containers/ci/shared/scripts/deps" +echo "------------- Setup --------------" + OS= OS_VERSION= UNAME=$(uname) @@ -28,27 +30,22 @@ then OS_VERSION=$(cat /etc/os-release | grep -E "^VERSION_ID=*" | cut -d = -f 2 | tr -d '"') fi -# Save setup environment -echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc -echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc -echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc -echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc - -echo "/////////////////////////////////////////////////" -echo "Setup script" -echo "/////////////////////////////////////////////////" echo "Operating system: $OS_NAME / Version: $OS_VERSION" -echo "Setup configuration:" -echo "> Setup Id (SETUP_ID): $SETUP_ID" -echo "> C Compiler (CC): $CC" -echo "> C++ Compiler (CXX): $CXX" -echo "> Fortran Compiler (FC): $FC" -echo "> Build type (CMAKE_BUILD_TYPE): $CMAKE_BUILD_TYPE" -echo "> C++ Standard (CMAKE_CXX_STANDARD): $CMAKE_CXX_STANDARD" +echo "In docker: $DOCKER_RUN" +echo "----------------------------------" -echo "/////////////////////////////////////////////////" +# Save setup environment to ~/.setuprc (used by packages.sh dep for example) +echo "--" +echo "-- Sharing setup information (SETUP_ID, OS_NAME, OS_VERSION, DOCKER_RUN) into ~/.setuprc" +echo "--" +echo "export SETUP_ID=\"$SETUP_ID\"" >> ~/.setuprc +echo "export DOCKER_RUN=\"$DOCKER_RUN\"" >> ~/.setuprc +echo "export OS_NAME=\"$OS_NAME\"" >> ~/.setuprc +echo "export OS_VERSION=\"$OS_VERSION\"" >> ~/.setuprc ### UPDATE PACKAGE LIST AND INSTALL START-UP PACKAGES: git, wget, bash. +echo "--" +echo "-- Installing Core packages..." if [ "$OS_NAME" = "Ubuntu" ] then apt-get update -y -q @@ -65,7 +62,16 @@ else exit 1 fi +echo "--" +echo "-- Core packages installed !" +echo "--" + ### SETUP DEPENDENCIES + +echo "--" +echo "-- Installing dependencies..." +echo "--" + mkdir -p $SCRIPTS_INSTALL_DIR mkdir -p $SCRIPTS_INSTALL_DIR/deps # 1. Download dependency installation script @@ -96,6 +102,10 @@ if [ "$DOCKER_RUN" = "1" ]; then rm -rf /var/lib/apt/lists/* fi +echo "--" +echo "-- Dependencies installed !" +echo "--" + ### CLEAN-UP if [ "$OS_NAME" = "Ubuntu" ] then @@ -110,7 +120,18 @@ else echo "No cleanup instructions defined for OS=$OS." fi -if [ -e "opt/nvcc_wrapper/bin/nvcc_wrapper" ] -then - export CXX=nvcc_wrapper -fi +echo "---------- Setup OK ! ------------" +echo "--" +echo "Operating system: $OS_NAME / Version: $OS_VERSION" +echo "--" +echo "Setup id: $SETUP_ID" +echo "--" +echo "Environment:" +echo " CC=$CC" +echo " CXX=$CXX" +echo " CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE" +echo " CMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD" +echo " FC=$FC" +echo "--" +echo "-------- Ready to test ! ---------" +echo "--" diff --git a/ci/test-samples/build-and-test-vt.sh b/ci/test-samples/build-and-test-vt.sh new file mode 100644 index 00000000..75cbe69a --- /dev/null +++ b/ci/test-samples/build-and-test-vt.sh @@ -0,0 +1,15 @@ +# test run in a test image +# docker run 3506b1369c84 /bin/bash -c "$(cat ./ci/test-samples/build-and-test-vt.sh)" + +ls /opt -l +mpich --version +exit 0 +mkdir -p /opt/vt/src +git clone https://github.com/DARMA-tasking/vt /opt/vt/src + +mkdir -p /opt/vt/build +cd /opt/vt/src +bash ci/build_cpp.sh /opt/vt/src /opt/vt/build +bash ci/test_cpp.sh /opt/vt/src /opt/vt/build + +rm -rf -p /opt/vt/src /opt/vt/build \ No newline at end of file