Skip to content

Commit

Permalink
Trying new action
Browse files Browse the repository at this point in the history
  • Loading branch information
lmdiazangulo committed Dec 26, 2024
1 parent 9629b8a commit 01fd60c
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: ubuntu-gnu

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: Setup MPI
if: matrix.mpi=='Yes' && matrix.compiler.name=='intel'
uses: mpi4py/setup-mpi@v1
with:
mpi: 'intelmpi'

- name: Install required packages
if: matrix.compiler.name=='gnu'
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 fdtd unit tests
run: |
build/bin/fdtd_tests
- name: Install python wrapper requirements
run: |
python -m pip install -r requirements.txt
- name: Run all wrapper tests
if: matrix.mtln=='Yes'
run: python -m pytest test/

- name: Run non-mtln wrapper tests
if: matrix.mtln=='No'
run: python -m pytest -m 'not mtln' test/


0 comments on commit 01fd60c

Please sign in to comment.