Release cleanup #304
Workflow file for this run
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: build-ubuntu | |
| on: | |
| pull_request: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| # test core capabilities, no MPI/CUDA but on CPU with OpenBlas and HDF5 | |
| # some BALS is required, makes little sense to skip HDF5 (can't output anything) | |
| asgard-core: | |
| strategy: | |
| matrix: | |
| prec: [float, double] | |
| compiler: [clang++-14, g++-11] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: prep | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: sudo apt-get update && sudo apt-get upgrade && sudo apt-get install libopenblas-dev libomp-dev | |
| - name: Makedir | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: cmake -E make_directory build | |
| - name: Configure | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: cmake -DCMAKE_BUILD_TYPE=Release | |
| -DASGARD_FAST_FLAGS=ON | |
| -DCMAKE_CXX_COMPILER=${{matrix.compiler}} | |
| -DASGARD_PRECISIONS=${{matrix.prec}} | |
| -DASGARD_USE_OPENMP=ON | |
| -DASGARD_BUILD_HDF5=ON | |
| ../ | |
| - name: Build | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: make -j VERBOSE=1 | |
| - name: Test | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: ctest -V --output-on-failure | |
| - name: Show Log | |
| if: failure() | |
| working-directory: ${{runner.workspace}}/asgard/build/Testing/Temporary | |
| run: cat LastTest.log | |
| # g++-13 using both precisions | |
| asgard-allprec: | |
| runs-on: ubuntu-24.04 | |
| env: | |
| OMP_NUM_THREADS: 2 | |
| OPENBLAS_NUM_THREADS: 1 | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: prep | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: sudo apt-get update && sudo apt-get upgrade && sudo apt-get install libopenblas-dev | |
| - name: Makedir | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: cmake -E make_directory build | |
| - name: Configure | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: cmake -DCMAKE_BUILD_TYPE=Release | |
| -DASGARD_FAST_FLAGS=ON | |
| -DCMAKE_CXX_FLAGS="-Wall -Wextra -Wshadow -pedantic -Werror" | |
| -DASGARD_PRECISIONS="float;double" | |
| -DASGARD_USE_OPENMP=ON | |
| ../ | |
| - name: Build | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: make -j VERBOSE=1 | |
| - name: Test | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: ctest -V --output-on-failure | |
| - name: Show Log | |
| if: failure() | |
| working-directory: ${{runner.workspace}}/asgard/build/Testing/Temporary | |
| run: cat LastTest.log | |
| # basic MPI build using default settings | |
| asgard-mpi: | |
| runs-on: ubuntu-24.04 | |
| env: | |
| OPENBLAS_NUM_THREADS: 1 | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: prep | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: sudo apt update && sudo apt upgrade && sudo apt install -y libopenmpi-dev && sudo apt-get install libopenblas-dev | |
| - name: Makedir | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: cmake -E make_directory build | |
| - name: Configure | |
| # skip some of the tests, MPI runs slower when all ranks sit on one CPU | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: cmake -DCMAKE_BUILD_TYPE=Release | |
| -DASGARD_FAST_FLAGS=ON | |
| -DCMAKE_CXX_FLAGS="-Wall -Wextra -Wshadow -pedantic" | |
| -DASGARD_LONG_TESTS=OFF | |
| -DASGARD_USE_OPENMP=OFF | |
| -DASGARD_USE_MPI=ON | |
| -DMPIEXEC_PREFLAGS="--oversubscribe" | |
| ../ | |
| - name: Build | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: make -j VERBOSE=1 | |
| - name: Test | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: ctest -V --output-on-failure | |
| - name: Show Log | |
| if: failure() | |
| working-directory: ${{runner.workspace}}/asgard/build/Testing/Temporary | |
| run: cat LastTest.log | |
| # maybe an overkill but there are some differences between MKL and OpenBlas | |
| asgard-mkl: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Git checkout | |
| uses: actions/checkout@v4 | |
| - name: install | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: | | |
| wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
| echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
| sudo apt update | |
| sudo apt install -y intel-oneapi-mkl-devel | |
| - name: Makedir | |
| working-directory: ${{runner.workspace}}/asgard | |
| run: cmake -E make_directory build | |
| - name: Configure | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: cmake -DCMAKE_BUILD_TYPE=Release | |
| -DASGARD_FAST_FLAGS=ON | |
| -DASGARD_PRECISIONS=double | |
| -DASGARD_USE_OPENMP=ON | |
| ../ | |
| - name: Build | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: make -j VERBOSE=1 | |
| - name: Test | |
| working-directory: ${{runner.workspace}}/asgard/build | |
| run: ctest -V --output-on-failure | |
| - name: Show Log | |
| if: failure() | |
| working-directory: ${{runner.workspace}}/asgard/build/Testing/Temporary | |
| run: cat LastTest.log |