FEniCSx (DOLFINx) backend for Virtual Cell models and a VCell solver: a VCell SimulationTask in, a
VTU + zarr results bundle out. Orientation: docs/overview.md; the container: docker/README.md; the
release contract: SOLVER-RELEASE.md.
A release is a tag vX.Y.Z on main; the artifacts are the container images (no archives).
-
In a PR, set the version in both
pyproject.toml([project].version) andsrc/vcell_fenics/__init__.py(__version__) —tests/test_version.pychecks they agree — and merge it. -
Tag the merge commit on
mainand push the tag:git fetch origin && git tag -a vX.Y.Z origin/main -m "vcell-fenics X.Y.Z" && git push origin vX.Y.Z
-
The
containerworkflow runs on the tag. It fails at once if the tag is notv<package version>or not onmain, builds and smoke-tests the image and SIF (checking both reportX.Y.Z), then publishesghcr.io/virtualcell/vcell-fenics:X.Y.Z(and:vX.Y.Z, multi-arch) andoras://ghcr.io/virtualcell/vcell-fenics_singularity:X.Y.Z(and:vX.Y.Z, amd64), and creates the GitHub Release with notes.latestkeeps followingmain.
A mistaken tag is fixed by bumping the version and tagging again — never by moving a published tag.