Skip to content

release.cli

The command line of the release of a model repository, python -m sbmlsim.release.

python -m sbmlsim.release build <project> --version X.Y.Z --out DIR
    [--repository PATH] [--framework-path PATH] [--workers N] [--resume]
python -m sbmlsim.release publish <project> --version X.Y.Z --out DIR

A project is module:attribute of a sbmlsim.project.Project with its release settings. build runs the kind release of the run layer into the output (sbmlsim.run.execute, the same as python -m sbmlsim.run release <spec> --out DIR): it clones the release repository into DIR/repository and builds the release there without committing it, so it can be reviewed; see sbmlsim.run.release_kinds. publish publishes the build of the output, a local step which never runs as a kind: it checks that the build is still the one of the source, commits, tags and pushes it, deploys the site, pushes the Docker image and creates the GitHub release (publish_release); a publishing which failed half way is finished by running it again.

The exit codes of build are the ones of python -m sbmlsim.run: 0 done, 2 a bad command line, 3 the build failed (its traceback is logged) and 4 a configuration error, e.g. a refused release, its message on stderr. The exit codes of publish: 0 published, 1 refused or failed, its message on stderr, 2 a bad command line and 4 a project which is not loaded.

main

main(argv=None, *, runner=run)

Run the command line.

Parameters:

Name Type Description Default
argv Sequence[str] | None

the arguments without the program, sys.argv[1:] without.

None
runner Runner

runs git, uv, the analyses of the build, docker and gh.

run

Returns:

Type Description
int

The exit code, see the module.