Skip to content

Commit

Permalink
Merge pull request #95 from OpenSEMBA/feature/reorganizing-compilation
Browse files Browse the repository at this point in the history
Coalescing ubuntu actions
  • Loading branch information
lmdiazangulo authored Jan 2, 2025
2 parents 9629b8a + ce80e2c commit 978cd65
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 289 deletions.
68 changes: 0 additions & 68 deletions .github/workflows/ubuntu-gnu.yml

This file was deleted.

69 changes: 0 additions & 69 deletions .github/workflows/ubuntu-intel.yml

This file was deleted.

68 changes: 0 additions & 68 deletions .github/workflows/ubuntu-intelLLVM.yml

This file was deleted.

66 changes: 0 additions & 66 deletions .github/workflows/ubuntu-nvidia.yml

This file was deleted.

93 changes: 93 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: ubuntu

on:
pull_request:
branches:
- main
- dev

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:

builds-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [
{name: 'intel', version: '2024.2'},
{name: 'gcc', version: 11}
]
build-type: ["Debug", "Release"]
mpi: ["Yes", "No"]
mtln: ["Yes"]
hdf: ["Yes"]

include:
- compiler: {name: 'intel-classic', version: '2021.10'}
build-type: "Release"
mpi: "No"
mtln: "No"
hdf: "Yes"
- compiler: {name: 'nvidia-hpc', version: '24.5'}
build-type: "Release"
mpi: "No"
mtln: "No"
hdf: "No"


fail-fast: false

name: ${{matrix.compiler.name}}-${{matrix.build-type}}-mpi(${{matrix.mpi}})-mtln(${{matrix.mtln}})-hdf(${{matrix.hdf}})

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}}
cmake --build build -j
- name: Run unit tests
run: build/bin/fdtd_tests

- name: Run python tests
env:
SEMBA_FDTD_ENABLE_MTLN: ${{ matrix.mtln }}
SEMBA_FDTD_ENABLE_HDF: ${{ matrix.hdf }}
run: python -m pytest test/



Loading

0 comments on commit 978cd65

Please sign in to comment.