Repository navigation
Move prepmd to the shared CCPBioSim workflows and add pre-commit - #50
Merged
harryswift01 merged 16 commits intoOct 28, 2026
Merged
Conversation
jimboid
approved these changes
Oct 28, 2026
jimboid
left a comment
Member
There was a problem hiding this comment.
Happy to see this merge. We know it works on several other repos now.
harryswift01
deleted the
49-feature-move-to-the-shared-ccpbiosim-workflows
branch
October 28, 2026 10:54
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.
Summary
This PR moves prepmd onto the shared CCPBioSim workflows, Renovate presets and pre-commit configuration in
CCPBioSim/.github, so CI fixes are made once for every package instead of in each repository. It also fixes the Read the Docs build, makes the docs build without warnings, and fixes every ruff finding so pre-commit can run on pull requests. Closes #49.Changes
python-app.ymlwithpr.yaml, which runsUnit,Docs,Pre-commitandConda buildthrough the shared workflows, pinned to release 0.14.0, on Python 3.13 onubuntu-26.04andmacos-26.Unitcallsci-test-condawithenvironment.yaml(salilabandconda-forge), runstest/with coverage, and reports to Coveralls.weekly-tests.yamlruns the unit tests every Monday.weekly-docs.yamlbuilds the docs on both operating systems.coveralls-main.yamlbuilds the coverage baseline on pushes tomain.release.yaml, renamed fromrelease.yml, uses the sharedrelease-prepare,release-websiteandrelease-condaworkflows with adry-runinput. The version is still updated inprepmd/__init__.pyandCITATION.cff, and there is still no PyPI release.maintenance-license-yearworkflow.requires-pythonexcludes 3.14, so pip refused to install the package. Also dropmyst-parserfromextra_requirements, since it is a package in thedocsextra, not an extra itself.conf.py, which the code uses throughout.Args:andReturns:sections.Input:andOutput:inlib/icp.pytoArgs:andReturns:.testing(pytest, pytest-cov), installed by the shared test workflows, andpre-commit(pre-commit, ruff, pylint, rstcheck)..pre-commit-config.yamland the shared ruff settings (E,F,I,B,UP, line length 88).test/test_data/from the hooks, so the fixed-width PDB fixtures stay unchanged byte for byte.prepmd/andtest/, without changing behaviour:from openmm import *andfrom modeller import *is Noneandtype(x) is Tcomparisonszip(..., strict=False), which keeps the current behaviourexcept Exceptionin place of bareexcept(modeller raisesModellerError, anException, without a licence key, so theNO_MODELLERfallback still works)raise ... from eTesting
make -C docs html SPHINXOPTS="-W --keep-going") on Python 3.13.pre-commit run --all-files).environment.yaml:prepmdmodules importtest/test_packaging.pypasses (4 tests)prepmd --helpandrunmd --helprun, and all 29runmdhelp strings are identical to the originalstest/test_all.pywere not run locally and will run in theUnitjob on this PR.Impact
CCPBioSim/.githubreach prepmd through Renovate pin updates instead of being repeated here.pyproject.tomlhave no lower bounds. That needs floors first and is left for a follow-up.Checklist
pyproject.tomlchanged, the lower bounds were reviewed deliberately