Skip to content

Conversation

@suvarchal
Copy link
Collaborator

@suvarchal suvarchal commented Sep 15, 2025

This PR adds ability to test multiple fesom build configurations(standalone, coupled (OIFS, IFS), RECOM at build level, that is if we can build fesom when they are activated. This is needed so that when we make a feature or fix to fesom we can at least ensure that builds of coupled configurations are intact.

this also add cmake presets which in general making testing outside CI easier. For instance we can list preset configurations.

Available configure presets:

  "default"       - Default FESOM2 Build 
  "coupled"       - Coupled FESOM2 Build # -DFESOM_COUPLED=ON -DOIFS_COUPLED=ON
  "recom"         - REcoM3 Coupled FESOM2 Build #-DRECOM_COUPLED=ON
  "ifs_interface" - IFS Interface FESOM2 Build # -DENABLE_IFS_INTERFACE=ON

then build them using

cmake --preset default; cmake --preset default --build 
cmake --preset coupled; cmake --preset coupled --build 
... 

a build directory with subdirectory for each of these configurations will be made and build within making matrix like testing easier, this can easily be extendable for more configurations and even compilers by editing cmakepresets.json.

TODO: while this does builds are successful for different configurations we at some point need minimal downstream tests.

@JanStreffing JanStreffing added this to the FESOM 2.7 milestone Sep 17, 2025
@JanStreffing JanStreffing added enhancement New feature or request build labels Sep 17, 2025
@suvarchal suvarchal marked this pull request as ready for review September 17, 2025 15:11
@JanStreffing
Copy link
Collaborator

nice work 👍

@JanStreffing JanStreffing merged commit 4197825 into main Sep 17, 2025
13 checks passed
@JanStreffing JanStreffing deleted the add_automated_multiple_builds branch September 17, 2025 16:22
@suvarchal suvarchal mentioned this pull request Sep 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants