* Harden MMseqs species ID resolution fallback * Reorganize tests for CPU coverage CI * New * Fix function coverage checker def-line false positives * Expand unit coverage for helper and backend manager utilities * New. * New. * Expand unit coverage for template and post-processing helpers * Expand unit coverage for objects.py edge cases * Publish HTML coverage reports via GitHub Pages * Add CPU unit coverage for AlphaFold3 backend helpers * Reorganize tests and expand backend coverage * Reset shared test flags between cases * Expand AF3 prepare_input unit coverage * Cover AF3 and truemultimer feature creation * Test AF3 multimer MSA translation paths * Cover AF3 duplicate-residue multimer fallback * Cover AF2 resume and postprocess edge paths * Cover AF3 template mmCIF preparation * Test small script entry points * Expand workflow and ModelCIF test coverage * Add backend extras and install guide * Clarify AF3 backend installation path * Stabilize cluster GPU test runners * Document AF3 CMake SQLite hints * Simplify backend installation guide * Align AF3 install with working cluster env * Backfill typing dataclass_transform for AF2 * Pin TensorFlow for cluster installs * Fallback AF2 relax when CUDA OpenMM is unavailable * Raise AF3 default minimum bucket size * Simplify backend cluster installation guide * Fix AF3 wrapper JSON output isolation * Fix AF3 JSON wrapper outputs and MMseqs ID parsing * Fix CI entrypoint stub and Python 3.8 typing * Document release readiness test gates
2.3 KiB
Release Readiness
This branch has broad maintained test coverage, but the protection is layered.
Always-on CI
GitHub Actions runs:
test/unittest/integration- coverage collection and reporting
- Python
3.10and3.11
These lanes continuously protect:
- feature creation wiring and CLI dispatch
- fold parsing and object construction
- AF2 backend helper behavior
- AF3 backend helper behavior
- script entrypoint and wrapper argument handling
- post-prediction and ModelCIF integration paths
- CPU-safe AlphaLink helper logic
Explicitly-run validation
The following are intentionally outside default CI and must be run explicitly when a change touches them:
test/cluster/check_alphafold2_predictions.pytest/cluster/check_alphafold3_predictions.pytest/cluster/check_alphalink_predictions.py- manual or cluster-backed GPU/Slurm smoke runs
Release-critical examples include:
- AF3 wrapper output isolation for combined JSON folds
- MMseqs-generated
.a3mand.pkl/.pkl.xzfeature artifacts - AF3 species pairing regressions for issue
#588 - AF2 and AF3 dimer inference quality checks such as
ipTM > 0.6
Not Continuously Protected
The following areas are only partially protected, optional, or report-only:
test/clusterworkflowstest/alphalinkworkflows beyond CPU-safe helper tests- legacy scenarios still parked under
test/outdated - analysis-pipeline utilities and some deeper ModelCIF internals
- Python
3.8, which is still advertised in packaging but is not exercised by GitHub Actions
The coverage artifact is useful as an audit input, but it does not prove workflow correctness by itself. In particular, python test/tools/check_function_coverage.py --report-only highlights functions that were never executed in CI and should be treated as follow-up audit items, not automatic release blockers.
Practical Release Gate
Before a final release, the expected evidence is:
- PR smoke-tests and coverage are green.
- AF3 JSON wrapper regressions are green.
- Issue
#588MMseqs/AF3 pairing regressions are green. - Manual or cluster-backed AF2 and AF3 dimer runs from MMseqs features complete successfully with acceptable confidence.
If those gates are green, the branch is in good release shape even though some heavyweight workflows are still validated outside default CI.