Skip to content

Commit e572468

Browse files
Merge pull request #248 from FloatingArrayDesign/dev
Release v2.3.7
2 parents 60d9ddd + 4b7a9f0 commit e572468

7 files changed

Lines changed: 159 additions & 27 deletions

File tree

.github/workflows/build-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ env:
1313
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
1414
BUILD_TYPE: Release
1515
VTK_VERSION_MAJOR: 9
16-
VTK_VERSION_MINOR: 2
17-
VTK_VERSION_PATCH: 6
16+
VTK_VERSION_MINOR: 3
17+
VTK_VERSION_PATCH: 1
1818

1919
jobs:
2020
create_release:

.github/workflows/python-wheels-emulated.yml

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,21 @@ on:
1212
description: 'Architecture target'
1313
required: true
1414
type: string
15+
vtk_major:
16+
description: 'VTK major version'
17+
required: false
18+
type: string
19+
default: '9'
20+
vtk_minor:
21+
description: 'VTK minor version'
22+
required: false
23+
type: string
24+
default: '3'
25+
vtk_patch:
26+
description: 'VTK patch version'
27+
required: false
28+
type: string
29+
default: '1'
1530

1631
permissions: write-all
1732

@@ -24,31 +39,37 @@ jobs:
2439
os: ${{ fromJSON(inputs.os) }}
2540
env:
2641
# Skip 32-bit windows wheels builds.
27-
CIBW_SKIP: "*-win32* *musllinux* pp38* pp39* pp310*"
42+
CIBW_SKIP: "*-win32* pp38-* pp39-* pp310-*"
2843
CIBW_ARCHS: ${{inputs.arch}}
2944
CIBW_ENVIRONMENT_LINUX: "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/project/install/lib"
3045
CIBW_BEFORE_ALL_LINUX: >
31-
echo "Considering vtk-manylinux2014_`uname -m`.tar.gz..." &&
46+
if pip debug --verbose | grep -q 'musllinux'; then
47+
DISTRO=musllinux_1_2
48+
else
49+
DISTRO=manylinux2014
50+
fi &&
51+
echo "Considering vtk-${DISTRO}_`uname -m`.tar.gz..." &&
3252
mkdir -p vtk &&
33-
tar -xvzf vtk-manylinux2014_`uname -m`.tar.gz -C vtk/ &&
53+
tar -xvzf vtk-${DISTRO}_`uname -m`.tar.gz -C vtk/ &&
3454
if [ -d "vtk/lib" ]; then
35-
VTK_DIR=vtk/lib/cmake/vtk-9.2/
55+
VTK_DIR=vtk/lib/cmake/vtk-${{inputs.vtk_major}}.${{inputs.vtk_minor}}
3656
else
37-
VTK_DIR=vtk/lib64/cmake/vtk-9.2/
57+
VTK_DIR=vtk/lib64/cmake/vtk-${{inputs.vtk_major}}.${{inputs.vtk_minor}}
3858
fi &&
3959
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=$VTK_DIR -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
4060
cmake --build build --config Release &&
4161
cmake --install build --config Release &&
4262
rm -rf docs extern source tests
4363
CIBW_BEFORE_BUILD_WINDOWS: "pip install delvewheel"
4464
CIBW_BEFORE_ALL_WINDOWS: >
45-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=vtk/lib/cmake/vtk-9.2/ -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
65+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=vtk/lib/cmake/vtk-${{inputs.vtk_major}}.${{inputs.vtk_minor}} -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
4666
cmake --build build --config Release &&
4767
cmake --install build --config Release &&
4868
rm -rf docs extern source tests
4969
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --add-path install/bin -w {dest_dir} {wheel}"
70+
CIBW_ENVIRONMENT_MACOS: 'MACOSX_DEPLOYMENT_TARGET="10.15"'
5071
CIBW_BEFORE_ALL_MACOS: >
51-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 &&
72+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=vtk/lib/cmake/vtk-${{inputs.vtk_major}}.${{inputs.vtk_minor}} -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DCMAKE_INSTALL_NAME_DIR:PATH=$(pwd)/install/lib &&
5273
cmake --build build --config Release &&
5374
cmake --install build --config Release &&
5475
rm -rf docs extern source tests
@@ -70,23 +91,32 @@ jobs:
7091
cat pyproject.toml
7192
shell: bash
7293

73-
- name: download pre-built VTK static library (Linux)
94+
- name: download pre-built VTK static library (ManyLinux)
95+
uses: suisei-cn/actions-download-file@v1.6.0
96+
with:
97+
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-${{inputs.vtk_major}}.${{inputs.vtk_minor}}.${{inputs.vtk_patch}}-static/vtk-manylinux2014_${{inputs.arch}}.tar.gz
98+
target: ${{github.workspace}}/
99+
if: runner.os == 'Linux'
100+
101+
- name: download pre-built VTK static library (MUSLLinux)
74102
uses: suisei-cn/actions-download-file@v1.6.0
75103
with:
76-
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-9.2.6-static/vtk-manylinux2014_${{inputs.arch}}.tar.gz
104+
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-${{inputs.vtk_major}}.${{inputs.vtk_minor}}.${{inputs.vtk_patch}}-static/vtk-musllinux_1_2_${{inputs.arch}}.tar.gz
77105
target: ${{github.workspace}}/
78106
if: runner.os == 'Linux'
79107

80108
- name: download pre-built VTK static library (Windows)
81109
uses: suisei-cn/actions-download-file@v1.6.0
82110
with:
83-
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-9.2.6-static/vtk-Windows-x86_64.tar.gz
111+
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-${{inputs.vtk_major}}.${{inputs.vtk_minor}}.${{inputs.vtk_patch}}-static/vtk-Windows-x86_64.tar.gz
84112
target: ${{github.workspace}}/
85113
if: runner.os == 'Windows'
86114

87-
- name: Install VTK (MacOS)
88-
run: |
89-
brew install vtk
115+
- name: download pre-built VTK static library (MacOS)
116+
uses: suisei-cn/actions-download-file@v1.6.0
117+
with:
118+
url: https://github.com/sanguinariojoe/vtk-builds/releases/download/VTK-${{inputs.vtk_major}}.${{inputs.vtk_minor}}.${{inputs.vtk_patch}}-static/vtk-macOS-${{inputs.arch}}.tar.gz
119+
target: ${{github.workspace}}/
90120
if: runner.os == 'MacOS'
91121

92122
- name: Create folders
@@ -100,6 +130,11 @@ jobs:
100130
tar -xvzf vtk-Windows-x86_64.tar.gz -C vtk/
101131
if: runner.os == 'Windows'
102132

133+
- name: Extract VTK tgz (MacOS)
134+
run: |
135+
tar -xvzf vtk-macOS-${{inputs.arch}}.tar.gz -C vtk/
136+
if: runner.os == 'MacOS'
137+
103138
- name: Set up QEMU
104139
uses: docker/setup-qemu-action@v3
105140
with:
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Python-manylinux-arch
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
os:
7+
description: 'Host OS'
8+
required: false
9+
type: string
10+
default: '["ubuntu-22.04"]'
11+
arch:
12+
description: 'Architecture target'
13+
required: true
14+
type: string
15+
16+
permissions: write-all
17+
18+
jobs:
19+
test_wheels:
20+
name: Test Python wheels
21+
runs-on: ${{ matrix.os }}
22+
strategy:
23+
matrix:
24+
os: ${{ fromJSON(inputs.os) }}
25+
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- uses: actions/setup-python@v5
30+
with:
31+
python-version: '3.12'
32+
33+
- name: Download the wheels
34+
uses: actions/download-artifact@v4
35+
with:
36+
path: dist/
37+
pattern: python-wheels-${{runner.os}}_${{inputs.arch}}*
38+
merge-multiple: true
39+
40+
- name: Install and run
41+
run: |
42+
cd dist/
43+
rm -f *musllinux*.whl
44+
pip debug --verbose
45+
ls -alh
46+
pip install $(ls *cp312*.whl) --break-system-packages
47+
cd ../tests
48+
python test_minimal.py
49+
shell: bash

.github/workflows/python-wheels.yml

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@ on:
66

77
permissions: write-all
88

9-
env:
10-
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
11-
BUILD_TYPE: Release
12-
VTK_VERSION_MAJOR: 9
13-
VTK_VERSION_MINOR: 2
14-
VTK_VERSION_PATCH: 6
15-
169
jobs:
1710
build_wheels:
1811
name: Build Python wheels x86_64
@@ -69,10 +62,18 @@ jobs:
6962
name: Build MacOS_x86_64
7063
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-emulated.yml@master
7164
with:
72-
os: '["macOS-latest"]'
65+
os: '["macOS-13"]'
7366
arch: "x86_64"
7467
secrets: inherit
7568

69+
build_MacOS_arm64:
70+
name: Build MacOS_arm64
71+
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-emulated.yml@master
72+
with:
73+
os: '["macOS-14"]'
74+
arch: "arm64"
75+
secrets: inherit
76+
7677
build_Linux_i686:
7778
name: Build Linux_i686
7879
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-emulated.yml@master
@@ -105,9 +106,36 @@ jobs:
105106
arch: "s390x"
106107
secrets: inherit
107108

109+
test_Linux_x86_64:
110+
name: Test Linux_x86_64
111+
needs: [build_Linux_x86_64]
112+
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-test.yml@master
113+
with:
114+
os: '["ubuntu-22.04"]'
115+
arch: "x86_64"
116+
secrets: inherit
117+
118+
test_Windows_AMD64:
119+
name: Test Windows_AMD64
120+
needs: [build_Windows_AMD64]
121+
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-test.yml@master
122+
with:
123+
os: '["windows-latest"]'
124+
arch: "AMD64"
125+
secrets: inherit
126+
127+
test_MacOS_arm64:
128+
name: Test MacOS_arm64
129+
needs: [build_MacOS_arm64]
130+
uses: FloatingArrayDesign/MoorDyn/.github/workflows/python-wheels-test.yml@master
131+
with:
132+
os: '["macOS-14"]'
133+
arch: "arm64"
134+
secrets: inherit
135+
108136
publish:
109137
runs-on: ${{ matrix.os }}
110-
needs: [build_wheels, build_Linux_x86_64, build_Windows_AMD64, build_MacOS_x86_64, build_Linux_i686, build_Linux_aarch64, build_Linux_ppc64le, build_Linux_s390x]
138+
needs: [build_wheels, build_Linux_x86_64, build_Windows_AMD64, build_MacOS_x86_64, build_MacOS_arm64, build_Linux_i686, build_Linux_aarch64, build_Linux_ppc64le, build_Linux_s390x, test_Linux_x86_64, test_Windows_AMD64, test_MacOS_arm64]
111139
strategy:
112140
matrix:
113141
os: [ubuntu-22.04]

.github/workflows/python-wrapper.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ env:
1313
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
1414
BUILD_TYPE: Release
1515
VTK_VERSION_MAJOR: 9
16-
VTK_VERSION_MINOR: 2
17-
VTK_VERSION_PATCH: 6
16+
VTK_VERSION_MINOR: 3
17+
VTK_VERSION_PATCH: 1
1818

1919
jobs:
2020
test:

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
## [](https://github.com/core-marine-dev/MoorDyn/compare/v2.3.6...v) (2024-08-23)
2+
3+
### Bug Fixes
4+
5+
* **ci:** Ignore MUSLLinux wheels when testing ([63698bd](https://github.com/core-marine-dev/MoorDyn/commit/63698bd87f4224c8d062f4b3b732b2f52e5dbeef))
6+
* **ci:** List of dependencies to publish a package ([2c9ea79](https://github.com/core-marine-dev/MoorDyn/commit/2c9ea79d89002287bc0e718dcd433b9c891a3b92))
7+
* **ci:** Remove the MUSLLinux wheels before testing ([20a35bf](https://github.com/core-marine-dev/MoorDyn/commit/20a35bf0ad51f4500b84b03e266848f503665720))
8+
* **ci:** Removed unused env variables ([584bda5](https://github.com/core-marine-dev/MoorDyn/commit/584bda5581864d779d467875ee2b1a459cab8b91))
9+
* **ci:** Setting the VTK version ([3be2478](https://github.com/core-marine-dev/MoorDyn/commit/3be24786c21753f8aaba898ee4bdf551ca3196af))
10+
* **ci:** The VTK tar.gz can be directly extracted on MacOS ([9422fb2](https://github.com/core-marine-dev/MoorDyn/commit/9422fb21063254dc3e943f5a8b0399341aed491b))
11+
* **ci:** Update to VTK-9.3.1 ([154ab66](https://github.com/core-marine-dev/MoorDyn/commit/154ab66d5d7442ad15fd31a855577a848f91f5a9))
12+
* **ci:** Use directly the VTK version placeholders ([e528054](https://github.com/core-marine-dev/MoorDyn/commit/e5280542245ae5e7617aafb011c0f0f7a85cf7f9))
13+
* **ci:** Wrong VTK URI ([6ef95f9](https://github.com/core-marine-dev/MoorDyn/commit/6ef95f92ab826f8f4e09661728a54f7d6cb3d870))
14+
* **python-wheels:** Test the wheels ([f534b48](https://github.com/core-marine-dev/MoorDyn/commit/f534b48bd9eb508b00e6ff102e62a7d84addea0a))
15+
* **python:** Avoid using brew on MacOS-13 statically linking VTK ([a521444](https://github.com/core-marine-dev/MoorDyn/commit/a521444281e9117c09135640f49154c2d3d0a18a))
16+
* **python:** Enable MUSLLinux builds ([7f20dab](https://github.com/core-marine-dev/MoorDyn/commit/7f20dab357b8863320d35bee1723f21099900023))
17+
* **python:** Enable pypy builds again ([224f8e4](https://github.com/core-marine-dev/MoorDyn/commit/224f8e4f31271a96b6a4ef170d8337d252305cb7))
18+
* **python:** Set the install name id on MacOS ([32a9fca](https://github.com/core-marine-dev/MoorDyn/commit/32a9fcae8a8aee0558c632fe236f92d9e6bfda8d))
19+
* **python:** Set the MACOSX_DEPLOYMENT_TARGET to 10.15 ([f44e9c4](https://github.com/core-marine-dev/MoorDyn/commit/f44e9c4df1c1c9645d1a08255f16722baa519188))
20+
* **python:** Use the MUSLLinux VTK compilation when needed ([e5fe619](https://github.com/core-marine-dev/MoorDyn/commit/e5fe6190d5fdc67f6bb48c3fc7133a6ed5c5a4ec))
121
## [](https://github.com/core-marine-dev/MoorDyn/compare/v2.3.5...v) (2024-08-14)
222

323
### Bug Fixes

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.10)
22
set(MOORDYN_MAJOR_VERSION 2)
33
set(MOORDYN_MINOR_VERSION 3)
4-
set(MOORDYN_PATCH_VERSION 6)
4+
set(MOORDYN_PATCH_VERSION 7)
55
set(MOORDYN_VERSION ${MOORDYN_MAJOR_VERSION}.${MOORDYN_MINOR_VERSION})
66
project(Moordyn VERSION ${MOORDYN_VERSION})
77

0 commit comments

Comments
 (0)