Task/7 20 2026 hex color code support #48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ascent_cuda_static | |
| on: | |
| pull_request: | |
| branches: [ develop ] | |
| permissions: | |
| contents: read | |
| # | |
| # Note: github actions does not have a equiv of azure pipelines top level "variables" | |
| # so our container names are embedded in the matrix defs. | |
| # | |
| jobs: | |
| build: | |
| name: Ascent CUDA Static | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.container }} | |
| strategy: | |
| matrix: | |
| include: | |
| - name: cuda 12.8.1 | |
| container: alpinedav/ascent-devel:ubuntu-22.04-cuda-12.8.1-x86_64-tpls_2026-06-17-sha796e65 | |
| env: | |
| cc: gcc | |
| cxx: g++ | |
| fc: gfortran | |
| build_shared_libs: OFF | |
| cmake_build_type: MinSizeRel | |
| cuda_arch: 80 | |
| enable_dray: OFF | |
| enable_mfem: ON | |
| blt_cxx_std: c++17 | |
| # static linking unit tests + examples eats up alot of disk space, | |
| # so skip building tests in CI to keep us away from clif | |
| enable_tests: OFF | |
| enable_examples: OFF | |
| enable_utils: OFF | |
| - name: cuda 11.8.0 | |
| container: alpinedav/ascent-devel:ubuntu-22.04-cuda-11.8.0-x86_64-tpls_2026-05-28-shae1ffd4 | |
| env: | |
| cc: gcc | |
| cxx: g++ | |
| fc: gfortran | |
| build_shared_libs: OFF | |
| cmake_build_type: MinSizeRel | |
| cuda_arch: 70 | |
| enable_dray: OFF | |
| enable_mfem: ON | |
| blt_cxx_std: c++17 | |
| # static linking unit tests + examples eats up alot of disk space, | |
| # so skip building tests in CI to keep us away from clif | |
| enable_tests: OFF | |
| enable_examples: OFF | |
| enable_utils: OFF | |
| env: | |
| COMPILER_CC: ${{ matrix.env.cc }} | |
| COMPILER_CXX: ${{ matrix.env.cxx }} | |
| COMPILER_FC: ${{ matrix.env.fc }} | |
| BUILD_SHARED_LIBS: ${{ matrix.env.build_shared_libs }} | |
| CMAKE_BUILD_TYPE: ${{ matrix.env.cmake_build_type }} | |
| CUDA_ARCH: ${{ matrix.env.cuda_arch }} | |
| ENABLE_DRAY: ${{ matrix.env.enable_dray }} | |
| ENABLE_MFEM: ${{ matrix.env.enable_mfem }} | |
| BLT_CXX_STD: ${{ matrix.env.blt_cxx_std }} | |
| ENABLE_TESTS: ${{ matrix.env.enable_tests }} | |
| ENABLE_EXAMPLES: ${{ matrix.env.enable_examples }} | |
| ENABLE_UTILS: ${{ matrix.env.enable_utils }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd | |
| with: | |
| submodules: 'recursive' | |
| - name: Configure Ascent | |
| run: | | |
| ################################# | |
| # configure | |
| ################################# | |
| # setup compiler env vars | |
| export CC=${COMPILER_CC} | |
| export CXX=${COMPILER_CXX} | |
| export FC=${COMPILER_FC} | |
| ${CC} --version | |
| # capture current path | |
| export ROOT_DIR=`pwd` | |
| # find spack generated host config file | |
| export HOST_CONFIG=`ls /uberenv_libs/*.cmake` | |
| echo $HOST_CONFIG | |
| # find spack installed cmake | |
| export CMAKE_BIN_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/cmake*/bin` | |
| export PATH=${CMAKE_BIN_DIR}:$PATH | |
| echo $PATH | |
| which cmake | |
| cmake --version | |
| # extra cuda setup (req for occa) | |
| export LD_LIBRARY_PATH="/usr/local/cuda/compat/" | |
| # prepare build dir | |
| mkdir build | |
| cd build | |
| # setup cmake options | |
| export CMAKE_OPTS="-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" | |
| # c++ std | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DBLT_CXX_STD=${BLT_CXX_STD}" | |
| # always include raja and umpire | |
| export RAJA_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/raja*/` | |
| export UMPIRE_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/umpire*/` | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DUMPIRE_DIR=${UMPIRE_DIR}" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DRAJA_DIR=${RAJA_DIR}" | |
| # always build vtkh, dray,and apcomp | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_VTKH=TRUE" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_APCOMP=${ENABLE_DRAY}" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_DRAY=${ENABLE_DRAY}" | |
| if [ $ENABLE_MFEM = 'OFF' ]; then export CMAKE_OPTS="${CMAKE_OPTS} -DMFEM_DIR=IGNORE"; fi | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_TESTS=$ENABLE_TESTS" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_EXAMPLES=$ENABLE_EXAMPLES" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DENABLE_UTILS=$ENABLE_UTILS" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DCMAKE_INSTALL_PREFIX=../install" | |
| export CMAKE_OPTS="${CMAKE_OPTS} -DCMAKE_CXX_FLAGS=-fno-lto -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCH}" | |
| # configure | |
| cmake ${CMAKE_OPTS} -C ${HOST_CONFIG} ../src | |
| - name: Build Ascent | |
| run: | | |
| echo "**** Building Ascent" | |
| export CMAKE_BIN_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/cmake*/bin` | |
| export PATH=${CMAKE_BIN_DIR}:$PATH | |
| export LD_LIBRARY_PATH="/usr/local/cuda/compat/" | |
| cmake --build build -j2 --config ${CMAKE_BUILD_TYPE} | |
| - name: Install Ascent | |
| run: | | |
| echo "**** Installing Ascent" | |
| export CMAKE_BIN_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/cmake*/bin` | |
| export PATH=${CMAKE_BIN_DIR}:$PATH | |
| cmake --install build --config ${CMAKE_BUILD_TYPE} | |
| - name: "Test vs Install (using-with-cmake) [build only]" | |
| run: | | |
| echo "**** Building using with cmake example" | |
| pwd | |
| ls -l | |
| # find spack installed cmake | |
| export ROOT_DIR=`pwd` | |
| export CMAKE_BIN_DIR=`ls -d /uberenv_libs/spack/opt/spack/*/*/cmake*/bin` | |
| export PATH=${CMAKE_BIN_DIR}:$PATH | |
| echo $PATH | |
| which cmake | |
| # copy example we want to test | |
| mkdir -p install/examples/ascent/ | |
| cp -r src/examples/using-with-cmake install/examples/ascent/ | |
| export LD_LIBRARY_PATH="/usr/local/cuda/compat/" | |
| cd install/examples/ascent/using-with-cmake | |
| env CC=mpicc CXX=mpic++ cmake -DCMAKE_CXX_FLAGS="-fno-lto" -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCH} -S . -B _test_build | |
| cd _test_build | |
| make VERBOSE=1 | |
| - name: "Test vs Install (using-with-make) [build only]" | |
| run: | | |
| echo "**** Building using with make example" | |
| cat install/share/ascent/ascent_config.mk | |
| pwd | |
| ls -l | |
| # copy example we want to test | |
| mkdir -p install/examples/ascent/ | |
| cp -r src/examples/using-with-make install/examples/ascent/ | |
| export LD_LIBRARY_PATH="/usr/local/cuda/compat/" | |
| cd install/examples/ascent/using-with-make | |
| env CC=mpicc CXX=mpic++ CXXFLAGS="-fno-lto" make |