248 Fix null direction for volumic bulk probe #603
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: ubuntu | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| builds-and-test: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| compiler: [ | |
| {name: 'intel', version: '2025.1'}, | |
| {name: 'gcc', version: 11} | |
| ] | |
| build-type: ["Release"] | |
| mpi: ["Yes", "No"] | |
| mtln: ["Yes", "No"] | |
| hdf: ["Yes"] | |
| double-precision: ["No"] | |
| include: | |
| - os: ubuntu-22.04 | |
| compiler: {name: 'intel-classic', version: '2021.10'} | |
| build-type: "Release" | |
| mpi: "No" | |
| mtln: "No" | |
| hdf: "Yes" | |
| double-precision: "No" | |
| # - os: ubuntu-22.04 | |
| # compiler: {name: 'intel-classic', version: '2021.10'} | |
| # build-type: "Release" | |
| # mpi: "No" | |
| # mtln: "Yes" | |
| # hdf: "Yes" | |
| # double-precision: "No" | |
| # Disable by lack of space on github action | |
| # - os: ubuntu-latest | |
| # compiler: {name: 'nvidia-hpc', version: '24.5'} | |
| # build-type: "Release" | |
| # mpi: "No" | |
| # mtln: "No" | |
| # hdf: "No" | |
| # double-precision: "No" | |
| - os: ubuntu-latest # This is the only test with double precision. | |
| compiler: {name: 'intel', version: '2025.1'} | |
| build-type: "Release" | |
| mpi: "Yes" | |
| mtln: "No" | |
| hdf: "Yes" | |
| double-precision: "Yes" | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| name: ${{matrix.os}} / ${{matrix.compiler.name}} / ${{matrix.build-type}}-mpi(${{matrix.mpi}})-mtln(${{matrix.mtln}})-hdf(${{matrix.hdf}})-double(${{matrix.double-precision}}) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Install python wrapper requirements | |
| run: python -m pip install -r requirements.txt | |
| - name: Setup MPI | |
| if: matrix.mpi=='Yes' && matrix.compiler.name=='intel' | |
| uses: mpi4py/setup-mpi@v1 | |
| with: | |
| mpi: 'intelmpi' | |
| - name: Install gcc required packages | |
| if: matrix.compiler.name=='gcc' | |
| run: | | |
| sudo apt update | |
| sudo apt install libhdf5-dev libopenmpi-dev | |
| - name: Setup fortran compiler | |
| uses: fortran-lang/setup-fortran@v1 | |
| id: setup-fortran | |
| with: | |
| compiler: ${{matrix.compiler.name}} | |
| version: ${{matrix.compiler.version}} | |
| - name: Build application | |
| run: | | |
| cmake -S . -B build \ | |
| -DCMAKE_BUILD_TYPE=${{matrix.build-type}} \ | |
| -DSEMBA_FDTD_ENABLE_MPI=${{matrix.mpi}} \ | |
| -DSEMBA_FDTD_ENABLE_HDF=${{matrix.hdf}} \ | |
| -DSEMBA_FDTD_ENABLE_MTLN=${{matrix.mtln}} \ | |
| -DSEMBA_FDTD_ENABLE_DOUBLE_PRECISION=${{matrix.double-precision}} | |
| cmake --build build -j | |
| - name: Run unit tests | |
| run: build/bin/fdtd_tests | |
| - name: Run python tests | |
| env: | |
| SEMBA_FDTD_ENABLE_MPI: ${{ matrix.mpi }} | |
| SEMBA_FDTD_ENABLE_MTLN: ${{ matrix.mtln }} | |
| SEMBA_FDTD_ENABLE_HDF: ${{ matrix.hdf }} | |
| run: python -m pytest test/ | |