Repository navigation
ci: build the OPTION_VCELL Python wheel for compose-api, and release it - #1
Merged
Merged
Conversation
A workflow that builds Smoldyn's Python module with OPTION_VCELL as a CPython 3.12 Linux x86-64 wheel, on conda-forge's Python in the pixi image compose-api builds with (manylinux's Pythons have no libpython, which the CMake build needs), and, run by hand with `release`, attaches it and its sha256 to the release vcell-pyhybrid-<short commit>. A pull request to pyhybrid builds it as a check. For biosimulations/compose-api's composed environments (docs/plan-environment-composition.md, 7c-3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A workflow,
.github/workflows/vcell-hybrid-wheel.yml, that builds this branch's Python module withOPTION_VCELL(the hybrid ValueProvider hooks) as a wheel for compose-api's composed environments. In biosimulations/compose-api it isdocs/plan-environment-composition.md, part 7c-3: viva-pde-particle composed with ODE solvers in one environment. compose-api's registry entry will install the wheel by URL and sha256 from the release this workflow makes.What it does
pyhybridbuilds the wheel as a check. No release is made.workflow_dispatch) with a commit andrelease: true, it builds at that commit and attaches the wheel and its.sha256file to the releasevcell-pyhybrid-<short commit>, created at that commit. Running it again replaces the assets.How it builds: with viva-pde-particle's
scripts/build_smoldyn.shflags (OPTION_VCELL, NSV, no OpenGL or libtiff).libpython, which this CMake build requires.ar/ranlibare passed explicitly.SMOLDYN_VERSIONis<base>.dev0+vcell.<short commit>, with the base read fromCMakeLists.txt.setup.pytags itpy3-none-any, so it's retaggedcp312-cp312-linux_x86_64. The workflow checks the extension is inside, then installs and imports it.libpython, as libroadrunner's does, so it is for conda-style environments; compose-api's images setLD_LIBRARY_PATHto the environment'slib.Tested by running the workflow's build steps in that image under linux/amd64, at
e86d552: version2.76.dev0+vcell.e86d552, the wheel built and retagged, the extension check passed, andimport smoldynworked. An earlier local build of the same source, in the same environment, works together with FEniCSx, PETSc, tellurium and COPASI, and runs viva-pde-particle's PDE + Smoldyn example with results identical to its own image.Nothing else changes. The fork's own CI ("Build and test") also runs on this branch's pushes, as it does on any; the wheel workflow adds nothing to it.
🤖 Generated with Claude Code