Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
6bcd52c
Work in progress addressing #149
cbuahin Nov 1, 2023
81095bc
Addressing bug for mod. horton #59
cbuahin Dec 11, 2023
353f8fe
Addressing bug for mod. horton #59
cbuahin Dec 12, 2023
ee1b5ef
Enabling draining in isolated and surcharged storages #149
cbuahin Dec 21, 2023
f9fa0ed
Restore openmp for node updating
cbuahin Dec 21, 2023
059d342
Valid double comparison since sumdqdh is initialized to zero for dang…
cbuahin Dec 21, 2023
d93cb32
Make sure ellipse ratio is 1.56 to be consistent with GUI #144
cbuahin Jan 11, 2024
a621234
Leave users to prescribe rise and span #144
cbuahin Jan 11, 2024
4606020
Address zero depth outfall bug #154
cbuahin Jan 17, 2024
a6fa0d5
Bumping minor version number up
cbuahin Jan 17, 2024
57cf5fa
Addressing TotalDuration precision bug #152
cbuahin Jan 17, 2024
d67a757
Limiting cummulative infiltration to max #158
cbuahin Jan 18, 2024
a409713
Added support for saving multiple hotstart files at specified times #150
cbuahin Jan 24, 2024
e3309b6
Modified code to use global consts instead of locally defined values #70
cbuahin Jan 24, 2024
9cad38b
WIP addressing #162, #150
cbuahin Feb 15, 2024
91de2fd
WIP addressing #162, #150
cbuahin Feb 15, 2024
cd5120d
WIP addressing #162, #150
cbuahin Feb 15, 2024
5d933ae
WIP addressing #162, #150
cbuahin Feb 15, 2024
ea5e68a
WIP addressing #162, #150; Remove actions for bug_fixes branch
cbuahin Feb 15, 2024
e1f906e
WIP addressing #162, #150
cbuahin Feb 15, 2024
58e330b
Expand API to return error code and support unit testing #162
cbuahin Feb 16, 2024
66e9f61
WIP on expanding unit tests #162, #150; other minor refactoring
cbuahin Feb 20, 2024
1b4559e
WIP on expanding unit tests #162, #150; other minor refactoring
cbuahin Feb 20, 2024
71c79e3
WIP on expanding unit tests #162, #150; other minor refactoring
cbuahin Feb 20, 2024
89fd7dd
Work in progress #162, #163
cbuahin Feb 22, 2024
bbaf4fe
Addressing crashing for long comments in timeseries #165
cbuahin Mar 5, 2024
9d3bb8d
Add runoff from closed rain barrel to return flow #166
cbuahin Mar 15, 2024
25dd291
Add runoff from closed rain barrel to return flow #166
cbuahin Mar 15, 2024
1ed9c88
Work in progress #162
cbuahin Jun 13, 2024
133f788
WIP unit testing infrastructure #162
cbuahin Jun 13, 2024
7266536
Fix max depth reporting when average is turned on. #188
cbuahin Sep 12, 2024
73b057a
WIP; New cython bindings for expanded API; docs; unit tests #204, #16…
cbuahin Nov 20, 2024
9efa97a
WIP; New cython bindings for expanded API for unit and reg tests; doc…
cbuahin Nov 20, 2024
53f9909
Finalize output API; New cython bindings for expanded API; docs; unit…
cbuahin Nov 20, 2024
2a6acde
WIP finalizing core api; consolidating readme; #204, #162, #163, #184…
cbuahin Nov 22, 2024
2a6843e
Fix setter error in solver.pyx; consolidating readme; #204, #162, #16…
cbuahin Nov 22, 2024
5b87a2b
WIP API bindings for pollutants #204, #162, #163, #184, #180
cbuahin Dec 10, 2024
6c08f7e
WIP API and bindings unit testing #204, #162, #163, #184, #180
cbuahin Dec 11, 2024
11f2a60
WIP finalizing core api, unit testing, installation config; #204, #1…
cbuahin Dec 16, 2024
ef8f5b7
Installation config; #204, #162, #163, #184, #180
cbuahin Dec 18, 2024
8e3dca2
WIP API and bindings unit testing; cleaning up #204, #162, #163, #18…
cbuahin Dec 22, 2024
14e0a0a
WIP API and bindings unit testing; cleaning up #204, #162, #163, #18…
cbuahin Dec 22, 2024
0a78d5e
WIP API and bindings unit testing; cleaning up #204, #162, #163, #18…
cbuahin Dec 22, 2024
3369838
WIP API and bindings unit testing; cleaning up #204, #162, #163, #18…
cbuahin Dec 22, 2024
d401acf
WIP API and bindings unit testing; cleaning up; docs, csv support #2…
cbuahin Jan 24, 2025
017df84
WIP API and bindings unit testing; cleaning up; docs, csv support #2…
cbuahin Jan 24, 2025
b91f310
WIP API and bindings unit testing; cleaning up; docs, csv support #2…
cbuahin Mar 3, 2025
e45f1cb
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
873f2cf
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
f67d9f8
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
b665cd2
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
c06a5d8
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
cb4b575
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
50ee476
Unit testing workflow #204, #162, #163, #184, #180, #165, #31
cbuahin Mar 3, 2025
1fbde01
Nuget workflow is allowed now
cbuahin Mar 3, 2025
79d5f06
Nuget workflow is allowed now
cbuahin Mar 3, 2025
abab08d
Qualify package name with os and vcpkg triplet
cbuahin Mar 3, 2025
3289bcb
Qualify oss with if clauses
cbuahin Mar 3, 2025
43c18e1
Configure workspace for build correctly
cbuahin Mar 3, 2025
9ba76ef
Configure workspace for build correctly
cbuahin Mar 3, 2025
dc19c44
Configure workspace for build correctly; test windows only
cbuahin Mar 3, 2025
c917b98
Configure workspace for build correctly; test windows only
cbuahin Mar 3, 2025
bc1ccea
Configure workspace for build correctly; test windows only
cbuahin Mar 3, 2025
0074dee
Configuring vcpkg on windows
Mar 6, 2025
8577239
Configuring vcpkg
Mar 6, 2025
e99c37c
Checking if vcpkg install locally is working
Mar 6, 2025
7fdd0fd
Fixing checkout path
Mar 6, 2025
25db75c
Use github actions cache instead of nuget to simplify
Mar 6, 2025
fc05ffb
Use CC0-1.0 instead of Public domain as vcpkg does not recognize
Mar 6, 2025
87662f7
Bump vcpkg baseline
Mar 6, 2025
3e278f2
Fix build directory
Mar 6, 2025
4bf8951
Reconfiguring boost
Mar 6, 2025
5966f12
Configuring cibuildwheel for portability
Apr 4, 2025
506fb7a
Sorting on GitHub actions for unit testing and building python wheels
Apr 8, 2025
44ee734
Sorting on GitHub actions for unit testing and building python wheels
Apr 8, 2025
9960e23
Wip
cbuahin Apr 8, 2025
9b33b2d
WIP
cbuahin Apr 8, 2025
95d73ab
Work in progress
cbuahin Apr 8, 2025
66d2edf
WIP
cbuahin Apr 8, 2025
acbaf4d
WIP Macos
cbuahin Apr 8, 2025
b3a1e2c
Test all
cbuahin Apr 8, 2025
4e4c78a
Configuring unit testing and building for deployment
cbuahin Apr 8, 2025
2763347
Update README.md
cbuahin Apr 8, 2025
ebc35ad
Cleaning up build and fixing install on windows
cbuahin Apr 10, 2025
b8863c2
Update README.md
cbuahin Apr 10, 2025
782cafa
Work in progress
cbuahin Apr 11, 2025
440272d
Work in progress
cbuahin Apr 11, 2025
3ba1296
Merged upstream
cbuahin Apr 11, 2025
fdcd90c
Work in progresS
Apr 14, 2025
6dfb36c
Work in progress
cbuahin Apr 15, 2025
448ce47
Merge branch 'bug_fixes' of https://github.com/cbuahin/Stormwater-Man…
cbuahin Apr 15, 2025
26f60e2
WIP
cbuahin Apr 16, 2025
1cb4cea
Work in progress
cbuahin May 14, 2025
a8dad81
Work in progress
cbuahin May 14, 2025
a24150e
WIP
cbuahin May 14, 2025
197b780
Add python documentation
cbuahin Jul 8, 2025
77902dc
Fixing readme
Jul 9, 2025
032f257
Adding manuals
cbuahin Jul 9, 2025
cd967b4
Documenting python
Jul 9, 2025
8dec7c3
Documenting python
Jul 9, 2025
28ac3a9
Refactoring
Jan 8, 2026
ac441f2
Refactoring
Jan 8, 2026
bd12440
Refactoring
Jan 8, 2026
c9176c1
Refactoring code for release
Jan 14, 2026
42ed856
Update pull request branches in unit testing workflow
cbuahin Jan 14, 2026
af30242
Refactor Build Wheels step in unit testing workflow
cbuahin Jan 14, 2026
54651c9
Configuring CI
Jan 14, 2026
2f70006
macos 13 deprecated; fix header import
Jan 14, 2026
3863d1b
macos 13 deprecated; fix header import
Jan 14, 2026
03ed283
Finalizing refactor and documention
Mar 25, 2026
eb2ddc6
Finalizing refactor and documention
Mar 25, 2026
a46212c
Resolve merge conflicts
Mar 25, 2026
4e29c88
Hooking up processes and unit tests
Mar 26, 2026
48f2cb4
Wiring workflows
Mar 26, 2026
defd494
Adding lifetime handlers; fixing routing, and continuity errors; upda…
Mar 27, 2026
766d1e4
Adding lifetime handlers; fixing routing, and continuity errors; upda…
Mar 27, 2026
55cc0ef
Fixing runoff qual errors
Mar 27, 2026
6b5d490
Fix export header filename mismatch in legacy output build
Mar 27, 2026
d17e3f7
Fixing docs and include header errors
Mar 27, 2026
2240ea8
Fixing cross platform build errors
Mar 27, 2026
996b2ea
Fixing cross platform build errors
Mar 27, 2026
8c9f6fd
Fixing cross platform build errors
Mar 27, 2026
b2e3156
Fixing cross platform build errors
Mar 27, 2026
d7c4360
Cross platform issues resolution
Mar 27, 2026
135e9db
Cross platform issues resolution
Mar 27, 2026
9579611
Cross platform issues resolution
Mar 27, 2026
f5209a3
Python build fix
Mar 27, 2026
ea40273
Fixing python build and packaging
Mar 27, 2026
10821b1
Compiling python
Mar 27, 2026
c33bfa5
Fix Cython compilation errors in _links.pyx and _subcatchments.pyx
Mar 27, 2026
79ec073
Fixing python bindings
Mar 27, 2026
1a54ab7
Work in progress
Mar 27, 2026
1560c19
Fixing the python builds
Mar 27, 2026
2fc19d5
Work in progress
Mar 27, 2026
66a28da
The abort when running together is due to global C state in the legac…
Mar 27, 2026
5b6c506
Configuring build python
Mar 27, 2026
f642d5e
Build and integration errors python
Mar 27, 2026
e660b8c
One more time fixing python builds
Mar 27, 2026
642d0ba
Work in progress python build test
Mar 27, 2026
4b34a08
Lets try again
Mar 27, 2026
0db1d7d
Fixing python builds
Mar 27, 2026
926ab5e
Fixing python builds
Mar 27, 2026
85119f6
Fixing linker errors on windows
Mar 27, 2026
138777a
Fixing linker errors on windows
Mar 28, 2026
eb6c340
Update CMakePresets.json
cbuahin Mar 28, 2026
4eddeed
Update cmake/FindOpenMP.cmake
cbuahin Mar 28, 2026
02623d4
Update CMakeLists.txt
cbuahin Mar 28, 2026
6345045
Update .github/workflows/unit_testing.yml
cbuahin Mar 28, 2026
3bfc161
Fixing python builds
Mar 29, 2026
04df38b
Fixing python build
Mar 30, 2026
49f9981
Fix LTO/visibility for Cython extensions, bump GH Actions to Node 24,…
Mar 30, 2026
710da2a
Fixing the cibuildwheels
Mar 30, 2026
4866681
Fixing the cibuildwheels
Mar 30, 2026
736df80
Fixing the cibuildwheels
Mar 30, 2026
a67d89a
Fixing the cibuildwheels
Mar 30, 2026
ab1babd
Debugging linux build issue
Mar 30, 2026
e084a0d
Fixing linux build issue
Mar 30, 2026
cd968a6
Work in progress
Mar 30, 2026
4ac9bfa
Test linux alone
Mar 30, 2026
7e98017
Finalizing python build
Mar 30, 2026
922b105
Building wheel artifacs for testing
Mar 30, 2026
e5fcc1b
Hooking up RDII and other processes
Mar 31, 2026
331564a
Renaming python source folder
Mar 31, 2026
c7a88d1
Fixing groundwater module and hooking up reports
Mar 31, 2026
a9e0fa2
Fix DW routing, orifice/weir flow, pump controls, and report units
Apr 1, 2026
44ac1b8
Fixing but in routing
Apr 1, 2026
919ba68
Add IRREGULAR xsect support + performance optimizations
Apr 1, 2026
a4a28a5
Add CUSTOM xsect support and fix pre-allocated buffers
Apr 1, 2026
88c3c85
Remove adverse slope conduit reversal
Apr 1, 2026
40749d1
Work in progress
Apr 1, 2026
a22f60d
Fix shape enum mapping and CUSTOM width scaling
Apr 1, 2026
aab92d5
Input plugin abstraction; geopackage implementation
Apr 3, 2026
d6eb758
Add experimental 2d model
Apr 3, 2026
8db0b10
Routing debugging and 2d model configuration
Apr 6, 2026
c84f720
Adding semi implicit node continuity formulation
Apr 8, 2026
fb7094c
Routing corrections
Apr 10, 2026
2f7745a
Fused single gather
Apr 10, 2026
c982efd
Addressing remaining gaps with legacy swmm; advanced unit tests
Apr 12, 2026
97d14a9
Debugging routing errors
Apr 13, 2026
1d07d27
Fix unit test error on windows
Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
95 changes: 0 additions & 95 deletions .github/workflows/build-and-test.yml

This file was deleted.

215 changes: 215 additions & 0 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
name: Deployment

on:
push:
tags: ["v*.*.*"]
workflow_dispatch:

env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
OMP_NUM_THREADS: 1

jobs:
# ──────────────────────────────────────────────────────────────────────
# Build release binaries
# ──────────────────────────────────────────────────────────────────────
build:
name: "Build (${{ matrix.alias }})"
permissions: write-all
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
alias: Linux-x64
cmake_preset: Linux
shell_ext: .sh
vcpkg_triplet: x64-linux
cmake_osx_arch: ""

- os: macos-latest
alias: macOS-arm64
cmake_preset: Darwin
shell_ext: .sh
vcpkg_triplet: arm64-osx
cmake_osx_arch: arm64

- os: macos-15-intel
alias: macOS-x64
cmake_preset: Darwin
shell_ext: .sh
vcpkg_triplet: x64-osx
cmake_osx_arch: x86_64

- os: windows-latest
alias: Windows-x64
cmake_preset: Windows
shell_ext: .bat
vcpkg_triplet: x64-windows
cmake_osx_arch: ""

runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Checkout vcpkg
uses: actions/checkout@v5
with:
repository: microsoft/vcpkg
ref: 2025.02.14
path: vcpkg

- name: Install OpenMP (macOS)
if: runner.os == 'macOS'
run: brew install libomp

- name: Install Ninja (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y ninja-build

- name: Bootstrap vcpkg (Windows)
if: runner.os == 'Windows'
working-directory: ${{ env.VCPKG_ROOT }}
run: |
.\bootstrap-vcpkg${{ matrix.shell_ext }}
.\vcpkg.exe integrate install

- name: Bootstrap vcpkg (Unix)
if: runner.os != 'Windows'
working-directory: ${{ env.VCPKG_ROOT }}
run: |
./bootstrap-vcpkg${{ matrix.shell_ext }}
chmod +x vcpkg

- name: Export GitHub Actions cache variables
uses: actions/github-script@v8
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

- name: Configure (Release)
run: >
cmake
--preset=${{ matrix.cmake_preset }}
-B build-${{ matrix.vcpkg_triplet }}
-DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmake_osx_arch }}

- name: Build and package
run: cmake --build build-${{ matrix.vcpkg_triplet }} --target package --config Release

- name: Upload release artifacts
uses: actions/upload-artifact@v5
with:
name: release-${{ matrix.vcpkg_triplet }}
path: |
build-${{ matrix.vcpkg_triplet }}/*.tar.gz
build-${{ matrix.vcpkg_triplet }}/*.zip

# ──────────────────────────────────────────────────────────────────────
# Python wheels
# ──────────────────────────────────────────────────────────────────────
wheels:
name: "Python Wheels (${{ matrix.alias }})"
needs: build
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
alias: Linux-x64
vcpkg_triplet: x64-linux
cmake_osx_arch: ""

- os: macos-latest
alias: macOS-arm64
cmake_preset: Darwin
shell_ext: .sh
vcpkg_triplet: arm64-osx
cmake_osx_arch: arm64

- os: macos-15-intel
alias: macOS-x64
cmake_preset: Darwin
shell_ext: .sh
vcpkg_triplet: x64-osx
cmake_osx_arch: x86_64

- os: windows-latest
alias: Windows-x64
vcpkg_triplet: x64-windows
cmake_osx_arch: ""

runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install OpenMP and Ninja (macOS)
if: runner.os == 'macOS'
run: brew install libomp ninja

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install Python requirements
working-directory: python
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

- name: Clean stale build cache
run: python -c "import shutil, os; shutil.rmtree('python/_skbuild', ignore_errors=True)"

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.2
with:
package-dir: ./python
output-dir: ./python/wheelhouse
env:
CMAKE_OSX_ARCHITECTURES: ${{ matrix.cmake_osx_arch }}
CIBW_BUILD_VERBOSITY: 3
CIBW_BEFORE_BUILD_LINUX: pip install ninja
CIBW_BEFORE_BUILD_MACOS: brew install ninja libomp && pip install delocate
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=15.0 CMAKE_OSX_ARCHITECTURES=${{ matrix.cmake_osx_arch }}
CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel
CIBW_ENVIRONMENT_WINDOWS: CMAKE_GENERATOR="Visual Studio 17 2022"
CIBW_REPAIR_WHEEL_COMMAND_LINUX: auditwheel repair -w {dest_dir} {wheel}
CIBW_REPAIR_WHEEL_COMMAND_MACOS: delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: ""
CIBW_TEST_REQUIRES: pytest numpy
CIBW_TEST_COMMAND: pytest {package}/tests -v --import-mode=importlib

- name: Upload Python wheels
if: always()
uses: actions/upload-artifact@v5
with:
name: python-wheels-${{ matrix.vcpkg_triplet }}
path: |
python/wheelhouse/*.whl
python/dist/*.whl
# ──────────────────────────────────────────────────────────────────────
# Create GitHub Release
# ──────────────────────────────────────────────────────────────────────
release:
name: Create GitHub Release
if: startsWith(github.ref, 'refs/tags/v')
needs: [build, wheels]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v5
with:
path: dist

- name: Create release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: dist/**/*
Loading
Loading