Skip to content

Commit 1c13f59

Browse files
author
Darth Vader
committed
Merge commit '2043a6551ac1b12a81d718509a5f3b8aaf9755b7'
2 parents 6dd6a8f + 2043a65 commit 1c13f59

File tree

4 files changed

+87
-25
lines changed

4 files changed

+87
-25
lines changed

src/phast/PhreeqcRM/.github/workflows/wheels.yml

+76-17
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,54 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
buildplat:
13-
- [macos-13, macosx_x86_64, x86_64]
14-
- [macos-14, macosx_arm64, arm64]
15-
- [ubuntu-20.04, manylinux_x86_64, x86_64]
16-
- [ubuntu-20.04, manylinux_i686, i686]
17-
- [windows-2019, win_amd64, x64]
18-
- [windows-2019, win32, Win32]
13+
- [macos-13, macosx_x86_64, x86_64, x86_64]
14+
- [macos-14, macosx_arm64, arm64, arm64]
15+
- [ubuntu-20.04, manylinux_aarch64, aarch64, aarch64]
16+
- [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
17+
- [ubuntu-20.04, manylinux_x86_64, x86_64, x86_64]
18+
- [ubuntu-20.04, manylinux_i686, i686, i686]
19+
- [windows-2019, win_amd64, x64, AMD64]
20+
- [windows-2019, win32, Win32, x86]
21+
- [windows-2019, win_arm64, ARM64, ARM64]
1922
python:
2023
- [cp38, v141]
2124
- [cp39, v141]
2225
- [cp310, v141]
26+
- [pp310, v141]
2327
- [cp311, v141]
24-
- [cp312, v142]
2528
- [cp313, v142]
29+
# - [cp313t, v142]
30+
exclude:
31+
# cp313(i686) on ubuntu-20.04
32+
- buildplat: [ubuntu-20.04, manylinux_i686, i686]
33+
python: [cp313, v142]
34+
# pp310(ppc64le) on ubuntu-20.04
35+
- buildplat: [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
36+
python: [pp310, v141]
37+
# pp310(i686) on ubuntu-20.04
38+
- buildplat: [ubuntu-20.04, manylinux_i686, i686, i686]
39+
python: [pp310, v141]
40+
# pp310(Win32) on windows-2019
41+
- buildplat: [windows-2019, win32, Win32, x86]
42+
python: [pp310, v141]
43+
# pp310(Win32) on windows-2019
44+
- buildplat: [windows-2019, win32, Win32, x86]
45+
python: [pp310, v141]
46+
# pp310(ARM64) on windows-2019
47+
- buildplat: [windows-2019, win_arm64, ARM64, ARM64]
48+
python: [pp310, v141]
49+
# cp313t(ppc64le) on ubuntu-20.04
50+
- buildplat: [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
51+
python: [cp313t, v142]
52+
# cp313t(i686) on ubuntu-20.04
53+
- buildplat: [ubuntu-20.04, manylinux_i686, i686]
54+
python: [cp313t, v142]
55+
# cp38(ARM64) on windows-2019
56+
- buildplat: [windows-2019, win_arm64, ARM64, ARM64]
57+
python: [cp38, v141]
58+
# cp313t(ARM64) on windows-2019
59+
- buildplat: [windows-2019, win_arm64, ARM64, ARM64]
60+
python: [cp313t, v142]
2661

2762
steps:
2863
- uses: actions/checkout@v4
@@ -32,34 +67,58 @@ jobs:
3267
with:
3368
python-version: "3.x"
3469

35-
- name: Build wheels
36-
if: ${{ runner.os != 'Windows' }}
37-
uses: pypa/cibuildwheel@7e5a838a63ac8128d71ab2dfd99e4634dd1bca09 # v2.19.2
70+
- name: Check python version
71+
run: |
72+
python --version
73+
74+
- name: Setup QEMU
75+
if: runner.os == 'Linux'
76+
uses: docker/setup-qemu-action@v3
77+
with:
78+
platforms: all
79+
80+
- name: Build wheels (Linux)
81+
if: ${{ runner.os == 'Linux' }}
82+
uses: pypa/cibuildwheel@v2.22.0
83+
env:
84+
CIBW_ENABLE: cpython-prerelease cpython-freethreading pypy
85+
CIBW_BUILD: ${{ matrix.python[0] }}-*
86+
CIBW_BUILD_VERBOSITY: 1
87+
CIBW_TEST_REQUIRES: pytest
88+
# CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
89+
CIBW_TEST_COMMAND: "pytest {project}/swig/python"
90+
CIBW_ARCHS_LINUX: ${{ matrix.buildplat[3] }}
91+
92+
- name: Build wheels (macOS)
93+
if: ${{ runner.os == 'macOS' }}
94+
uses: pypa/cibuildwheel@v2.22.0
3895
env:
39-
CIBW_PRERELEASE_PYTHONS: True
40-
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
96+
CIBW_ENABLE: cpython-prerelease cpython-freethreading pypy
97+
CIBW_BUILD: ${{ matrix.python[0] }}-*
4198
CIBW_BUILD_VERBOSITY: 1
4299
CIBW_TEST_REQUIRES: pytest
43100
# CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
44101
CIBW_TEST_COMMAND: "pytest {project}/swig/python"
102+
CIBW_ARCHS_MACOS: ${{ matrix.buildplat[3] }}
45103

46104
- name: Build wheels (Windows)
47105
if: ${{ runner.os == 'Windows' }}
48-
uses: pypa/cibuildwheel@7e5a838a63ac8128d71ab2dfd99e4634dd1bca09 # v2.19.2
106+
uses: pypa/cibuildwheel@v2.22.0
49107
env:
50-
CIBW_PRERELEASE_PYTHONS: True
51-
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
108+
CIBW_ENABLE: cpython-prerelease cpython-freethreading pypy
109+
CIBW_BUILD: ${{ matrix.python[0] }}-*
52110
CIBW_BUILD_VERBOSITY: 1
53111
CIBW_TEST_REQUIRES: pytest
54112
# CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
55113
CIBW_TEST_COMMAND: "pytest {project}/swig/python"
114+
CIBW_ARCHS_WINDOWS: ${{ matrix.buildplat[3] }}
56115
CMAKE_GENERATOR: Visual Studio 16 2019
57116
CMAKE_GENERATOR_TOOLSET: ${{ matrix.python[1] }}
58117
CMAKE_GENERATOR_PLATFORM: ${{ matrix.buildplat[2] }}
59118

60119
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
61120
with:
62-
name: dist-${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
121+
name: dist-${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}-${{ github.run_number }}
63122
path: ./wheelhouse/*.whl
64123

65124

@@ -92,5 +151,5 @@ jobs:
92151
- name: Merge Artifacts
93152
uses: actions/upload-artifact/merge@v4
94153
with:
95-
name: dist
154+
name: dist-${{ github.run_number }}
96155
pattern: dist-*

src/phast/PhreeqcRM/CMakeLists.txt

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
# CMAKE_MSVC_RUNTIME_LIBRARY requires 3.15
2-
if (WIN32)
3-
cmake_minimum_required(VERSION 3.20...3.26)
4-
else()
5-
cmake_minimum_required(VERSION 3.16...3.26)
6-
endif()
2+
cmake_minimum_required(VERSION 3.20...3.26)
73

84
project(
95
PhreeqcRM
10-
VERSION 3.7.0
6+
VERSION 3.8.0
117
LANGUAGES CXX C
128
)
139

src/phast/PhreeqcRM/Tests/TestAllMethods_c.c

+3
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ void TestAllMethods_c()
7878
id = RM_BmiCreate(nxyz, nthreads);
7979
#endif
8080

81+
// delete YAMLPhreeqcRM by id
82+
DestroyYAMLPhreeqcRM(yid);
83+
8184
// Use YAML file to initialize
8285
//RM_BmiInitialize(id, ""); // Initializes with no file
8386
RM_BmiInitialize(id, YAML_filename); // Initializes with file

src/phast/PhreeqcRM/pyproject.toml

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
[build-system]
2-
requires = ["scikit-build-core", "swig", "numpy"]
2+
requires = [
3+
"scikit-build-core",
4+
"swig==4.2.1",
5+
"numpy"
6+
]
37
build-backend = "scikit_build_core.build"
48

59
[project]
610
name = "phreeqcrm"
7-
version = "0.0.11"
11+
version = "0.0.12"
812
description = "A reaction module for transport simulators based on the geochemical model PHREEQC."
913
readme = "README.md"
1014
requires-python = ">=3.8"

0 commit comments

Comments
 (0)