diff --git a/host-configs/other/firion-macos_sonoma_aarch64-llvm@19.1.7.cmake b/host-configs/other/firion-macos_sonoma_aarch64-llvm@19.1.7.cmake new file mode 100644 index 00000000..e16e0f9b --- /dev/null +++ b/host-configs/other/firion-macos_sonoma_aarch64-llvm@19.1.7.cmake @@ -0,0 +1,108 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /Applications/CMake.app/Contents/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/caliper-2.12.1-bjcxkpp3kga33oqlohamnud4eucujy2n;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/tribol-0.1.0.21-kvfe24mnx4ypsx6z46v7hjh5ehci3gfi;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/adiak-0.4.1-ii7ze35uwlyqcmiseiuqkomiowefspa6;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/axom-0.11.0.1-nz4l7bqevsgbecm6jrglzgrwrs27qwey;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/conduit-0.9.2-hm7qs2p7sx5zbqcxb6zklp4dnqgrolfv;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/mfem-4.9.0.1-lzng46uwxusquaxhqj3dvjvckvc6zj5m;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/raja-2024.07.0-oc65j7yrpwnkjuc4zs6gpyy6p2znk77w;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/umpire-2024.07.0-mdq45ruh4ag7v45wsvrck2mtpckj4vvo;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/enzyme-0.0.180-cq54haqwllzpvh6skjyadpuu3kb6cot7;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/netcdf-c-4.7.4-eh3d2tc53tqks65afaoqpmihdlfa3e3j;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/slepc-3.21.2-srke7luobbqc7xs77muh3mlg6dmtkpjl;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/sundials-6.7.0-c5vrd7vqssfddvxhriidqddnuygtzyxx;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/hdf5-1.8.23-i47tsv73lnizwu47o34x2msfmgzxobyr;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/arpack-ng-3.9.1-tmcm6lckqhm6kaemh5bjzavtbnp5bk5g;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/petsc-3.21.6-zeadeguk5htiq52pahgqljsjrzhwbrtx;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/hypre-2.26.0-h6omwdoqtrifur6n7x7s5arinosb6hv6;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/strumpack-8.0.0-4xgawkfbmj6pomavx2god2wi7ehlft5z;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/superlu-dist-8.1.2-phkbvnp6h7ofyya7tjeyq5jf6rhf3mfg;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/netlib-scalapack-2.2.2-jv22oatv46ogej2bqwi2girdpns2y7tp;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/parmetis-4.0.3-b4u5zo43sksu7tty75snnlhxsdkxcord;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/camp-2024.07.0-2em5nb7crrrxynjtklcnjpqxdyj3jtyx;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/none-none/compiler-wrapper-1.0-hwmebdtcrddvu7rshrhhhphuvmjkcc4p;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/none-none/gcc-runtime-15.1.0-fzwvsigc2infi6utlauywqp2u6rbqb6k;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/metis-5.1.0-xj2qizkzh6l35b4udfrlg633gvjkxlwp;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/fmt-11.0.2-vtdu2cwooiovezve7yriulfbmr6bwjfq;/Users/chapman39/dev/serac/venv;/Applications/CMake.app/Contents;/opt/homebrew;/opt/homebrew;/opt/homebrew/opt/gcc@15;/opt/homebrew/opt/llvm@19;/opt/homebrew;/opt/homebrew;/opt/homebrew;/opt/homebrew/opt/zlib" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/serac-develop-mu7cty5clwdb5mj3eachqc4jpbxnvm4w/lib;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/serac-develop-mu7cty5clwdb5mj3eachqc4jpbxnvm4w/lib64;/opt/homebrew/lib/gcc/15;/opt/homebrew/Cellar/gcc/15.1.0/lib/gcc/current/gcc/aarch64-apple-darwin24/15;/opt/homebrew/Cellar/gcc/15.1.0/lib/gcc/current" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/serac-develop-mu7cty5clwdb5mj3eachqc4jpbxnvm4w/lib;/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7/serac-develop-mu7cty5clwdb5mj3eachqc4jpbxnvm4w/lib64;/opt/homebrew/lib/gcc/15;/opt/homebrew/Cellar/gcc/15.1.0/lib/gcc/current/gcc/aarch64-apple-darwin24/15;/opt/homebrew/Cellar/gcc/15.1.0/lib/gcc/current" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: llvm@19.1.7/3xfta2iaspwpahxp4y4y2bazif2s7757 +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/none-none/compiler-wrapper-1.0-hwmebdtcrddvu7rshrhhhphuvmjkcc4p/libexec/spack/clang/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/none-none/compiler-wrapper-1.0-hwmebdtcrddvu7rshrhhhphuvmjkcc4p/libexec/spack/clang/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/none-none/compiler-wrapper-1.0-hwmebdtcrddvu7rshrhhhphuvmjkcc4p/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/opt/homebrew/opt/llvm@19/bin/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/opt/homebrew/opt/llvm@19/bin/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/opt/homebrew/opt/gcc@15/bin/gfortran" CACHE PATH "") + +endif() + +set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/opt/homebrew/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/opt/homebrew/bin/mpic++" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/opt/homebrew/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_EXECUTABLE "/opt/homebrew/bin/mpirun" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP OFF CACHE BOOL "") + +#------------------------------------------------------------------------------ +# Options +#------------------------------------------------------------------------------ + +set(BUILD_REDECOMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/Users/chapman39/dev/serac/serac_tpls/macos_sonoma_aarch64/2025_10_06_09_43_04/llvm-19.1.7" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-nz4l7bqevsgbecm6jrglzgrwrs27qwey" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-lzng46uwxusquaxhqj3dvjvckvc6zj5m" CACHE PATH "") + +set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-cq54haqwllzpvh6skjyadpuu3kb6cot7" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-oc65j7yrpwnkjuc4zs6gpyy6p2znk77w" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-mdq45ruh4ag7v45wsvrck2mtpckj4vvo" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/opt/homebrew" CACHE PATH "") + +set(TRIBOL_ENABLE_CODE_CHECKS ON CACHE BOOL "") + +set(ENABLE_CLANGFORMAT ON CACHE BOOL "") + +set(CLANGFORMAT_EXECUTABLE "${DEVTOOLS_ROOT}/Cellar/llvm@19/19.1.7/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "${DEVTOOLS_ROOT}/Cellar/llvm@19/19.1.7/bin/clang-tidy" CACHE PATH "") + +set(TRIBOL_ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "/Users/chapman39/dev/serac/venv/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/bin/doxygen" CACHE PATH "") + + diff --git a/scripts/shared-macmini/build-and-test.sh b/scripts/shared-macmini/build-and-test.sh new file mode 100755 index 00000000..75597c69 --- /dev/null +++ b/scripts/shared-macmini/build-and-test.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Build and test Tribol on Smith team's shared MacMini, then report results to a set of emails + +# Immediately fail upon error and update environment +set -e +source ~/.bash_profile + +# Variables +CI_ROOT_DIR="/Users/chapman39/dev/.ci/tribol" +PROJECT_DIR="$CI_ROOT_DIR/repo" +OUTPUT_LOG="$CI_ROOT_DIR/logs/macmini-build-and-test-$(date +"%Y_%m_%d_%H_%M_%S").log" +HOST_CONFIG="$PROJECT_DIR/host-configs/other/firion-*.cmake" +RECIPIENTS="chapman39@llnl.gov,chin23@llnl.gov,wopschall1@llnl.gov" +EMAIL_SUBJECT="Tribol Failed! MacMini build and test report $(date)" +EMAIL_BODY="This is automatic weekly report of Tribol's MacMini build. See attached for log." + +function send_email() { + echo "$EMAIL_BODY" | print_run_log mutt -a "$OUTPUT_LOG" -s "$EMAIL_SUBJECT" -- "$RECIPIENTS" +} + +# Send email before exiting from an error +trap "send_email; exit 1" ERR + +# Print command and its output into a log file +print_run_log(){ + echo "####################" >> "$OUTPUT_LOG" + echo "# $@" >> "$OUTPUT_LOG" + echo "####################" >> "$OUTPUT_LOG" + "$@" >> "$OUTPUT_LOG" 2>&1 + echo >> "$OUTPUT_LOG" +} + +# Go to project directory +print_run_log cd $PROJECT_DIR + +# Update repo +print_run_log git checkout develop +print_run_log git pull +print_run_log git submodule update --init --recursive + +# Clear previous build(s) +print_run_log rm -rf _tribol_build_and_test* + +# Build and test project +print_run_log python3 ./scripts/llnl/build_src.py --host-config $HOST_CONFIG -v -j16 + +# Update email subject to indicate success and send +EMAIL_SUBJECT="Tribol Succeeded! MacMini build and test report $(date)" +send_email