diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 937f7b5..b1b187f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -160,3 +160,55 @@ jobs: name: logfiles path: | build/**/*.log + + Nvidia: + runs-on: ubuntu-20.04 + container: nvcr.io/nvidia/nvhpc:24.1-devel-cuda12.3-ubuntu20.04 + env: + FC: nvfortran + + name: Nvidia HPC + steps: + - name: Versions + run: | + ${FC} --version + cmake --version + + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Set all directories as git safe + run: | + git config --global --add safe.directory '*' + + - name: Build GFE Prereqs + run: | + bash ./tools/ci-install-gfe.bash + + - name: Build pFlogger + run: | + mkdir -p build + cd build + cmake .. -DCMAKE_Fortran_COMPILER=${FC} -DCMAKE_INSTALL_PREFIX=${HOME}/Software/pFlogger -DCMAKE_PREFIX_PATH=${HOME}/Software/GFE + make -j$(nproc) + + - name: Build Tests + run: | + cd build + make -j$(nproc) tests + + - name: Run Tests + run: | + cd build + ctest -j1 --output-on-failure --repeat until-pass:4 + + - name: Archive log files on failure + uses: actions/upload-artifact@v4 + if: failure() + with: + name: logfiles + path: | + build/**/*.log +