@@ -2,7 +2,7 @@ name: CMake
22
33on :
44 push :
5- branches : [ $default-branch, master, v2 ]
5+ branches : [ $default-branch, master ]
66 pull_request :
77 branches :
88 - " **"
@@ -24,23 +24,33 @@ jobs:
2424 release_id : ${{ steps.create_release.outputs.id }}
2525 upload_url : ${{ steps.create_release.outputs.upload_url }}
2626 steps :
27- - uses : actions/checkout@v3
27+ - uses : actions/checkout@v4
2828 if : github.event_name == 'push'
2929
30- - uses : dev-drprasad/delete-tag-and-release@v0.2.1
31- continue-on-error : true
32- with :
33- delete_release : true
34- tag_name : " nightly"
35- env :
36- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
30+ - name : moordyn_tag_name
31+ id : moordyn_tag_name
32+ shell : bash
33+ run : |
34+ major=`cat CMakeLists.txt | grep MOORDYN_MAJOR_VERSION | head -1 | awk -F' ' '{print $2}' | awk -F')' '{print $1}'`
35+ minor=`cat CMakeLists.txt | grep MOORDYN_MINOR_VERSION | head -1 | awk -F' ' '{print $2}' | awk -F')' '{print $1}'`
36+ patch=`cat CMakeLists.txt | grep MOORDYN_PATCH_VERSION | head -1 | awk -F' ' '{print $2}' | awk -F')' '{print $1}'`
37+ echo "moordyn_tag_name=v$major.$minor.$patch" >> $GITHUB_OUTPUT
3738 if : github.event_name == 'push'
3839
40+ # - uses: dev-drprasad/delete-tag-and-release@v1.0.1
41+ # continue-on-error: true
42+ # with:
43+ # delete_release: true
44+ # tag_name: "nightly"
45+ # env:
46+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+ # if: github.event_name == 'push'
48+
3949 - uses : rickstaa/action-create-tag@v1
4050 id : create_tag
4151 with :
42- tag : " nightly "
43- message : " Latest release"
52+ tag : ${{steps.moordyn_tag_name.outputs.moordyn_tag_name}}
53+ message : " Latest release (${{steps.moordyn_tag_name.outputs.moordyn_tag_name}}) "
4454 force_push_tag : true
4555 if : github.event_name == 'push'
4656
5060 env :
5161 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5262 with :
53- tag_name : " nightly "
54- release_name : " nightly "
63+ tag_name : ${{steps.moordyn_tag_name.outputs.moordyn_tag_name}}
64+ release_name : ${{steps.moordyn_tag_name.outputs.moordyn_tag_name}}
5565 draft : false
5666 prerelease : false
5767 if : github.event_name == 'push'
6474 os : [ubuntu-22.04, windows-latest, macOS-latest]
6575
6676 steps :
67- - uses : actions/checkout@v3
77+ - uses : actions/checkout@v4
6878
6979 - name : moordyn_version
7080 id : moordyn_version
@@ -75,19 +85,15 @@ jobs:
7585 patch=`cat CMakeLists.txt | grep MOORDYN_PATCH_VERSION | head -1 | awk -F' ' '{print $2}' | awk -F')' '{print $1}'`
7686 echo "moordyn_version=$major.$minor.$patch" >> $GITHUB_OUTPUT
7787
78- - name : Setup GCC Fortran (Linux & Mac )
88+ - name : Setup GCC Fortran (Linux)
7989 uses : awvwgk/setup-fortran@main
8090 id : setup-fortran
8191 with :
8292 compiler : gcc
8393 if : runner.os == 'Linux'
8494
85- - name : Setup Intel Fortran
86- uses : modflowpy/install-intelfortran-action@v1
87- if : runner.os == 'Windows'
88-
8995 - name : download pre-built VTK static library
90- uses : suisei-cn/actions-download-file@v1.0.1
96+ uses : suisei-cn/actions-download-file@v1.4.0
9197 with :
9298 url : https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-${{env.VTK_VERSION_MAJOR}}.${{env.VTK_VERSION_MINOR}}.${{env.VTK_VERSION_PATCH}}-static/vtk-${{runner.os}}-x86_64.tar.gz
9399 target : ${{github.workspace}}/
@@ -106,22 +112,32 @@ jobs:
106112 if : runner.os == 'Linux'
107113
108114 - name : Configure CMake (Windows)
109- run : cmake -B ${{github.workspace}}/build -G Ninja - DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=ON -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=${{github.workspace}}/vtk/lib/cmake/vtk-${{env.VTK_VERSION_MAJOR}}.${{env.VTK_VERSION_MINOR}}/ -DBUILD_TESTING=OFF
115+ run : cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=${{github.workspace}}/vtk/lib/cmake/vtk-${{env.VTK_VERSION_MAJOR}}.${{env.VTK_VERSION_MINOR}}/ -DBUILD_TESTING=ON
110116 if : runner.os == 'Windows'
111117
112118 - name : Configure CMake (Mac)
113- run : cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=${{github.workspace}}/vtk/lib/cmake/vtk-${{env.VTK_VERSION_MAJOR}}.${{env.VTK_VERSION_MINOR}}/ -DBUILD_TESTING=OFF
119+ run : cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=${{github.workspace}}/vtk/lib/cmake/vtk-${{env.VTK_VERSION_MAJOR}}.${{env.VTK_VERSION_MINOR}}/ -DBUILD_TESTING=ON
114120 if : runner.os == 'macOS'
115121
116122 - name : Build
117123 id : build
118124 run : cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
119125
120- - name : Test (Linux)
126+ # We do a little hack here. We install the library so we perfectly know the
127+ # path. Then we set the environment variable to let the OS find the
128+ # libraries
129+
130+ - name : Install
131+ run : cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
132+
133+ - name : Set $PATH (Windows)
134+ run : Add-Content $env:GITHUB_PATH "${{github.workspace}}\install\bin"
135+ if : runner.os == 'Windows'
136+
137+ - name : Test
121138 working-directory : ${{github.workspace}}/build
122139 # We are just testing in Linux
123140 run : ctest -C ${{env.BUILD_TYPE}}
124- if : runner.os == 'Linux'
125141
126142 - name : Install
127143 working-directory : ${{github.workspace}}/build
0 commit comments