Commit Graph

11 Commits

Author SHA1 Message Date
lyskov-ai
b69bed5e4c test: bootstrap mypy + pytest + coverage CI gates (#284)
* test: bootstrap mypy + pytest + coverage CI gates

Wire up the tooling the upcoming test/annotation/refactor work depends on:

- Add mypy>=1.13 to [dev] and a lenient [tool.mypy] config scoped to
  src/foundry + src/foundry_cli (ignore_missing_imports, no
  disallow_untyped_defs). The 14 modules with pre-existing type errors
  are pinned via [[tool.mypy.overrides]] ignore_errors=true and listed
  as the ratchet target — fix and remove, never add.
- Add [tool.pytest.ini_options] (testpaths=["tests"], --strict-markers
  --strict-config) and [tool.coverage.*] (source = src/foundry +
  src/foundry_cli, branch = true) for opt-in gap finding.
- Add .github/workflows/test.yaml with mypy and pytest jobs running on
  the same triggers as lint_production.yaml. Top-level tests/ only;
  per-model tests under models/*/tests/ may require GPU and checkpoints
  and stay out of CI for now.

Co-authored-by: Sergey Lyskov <sergey.lyskov@jhu.edu>

* test(mypy): extend ignore list with 4 modules CI surfaced

Local sanity-check ran mypy without foundry installed, so torch /
lightning resolved to `Any` and errors that depend on knowing those
types stayed invisible. First CI run installed the full deps and
surfaced 6 errors in 4 additional modules:

  foundry.model.layers.blocks
  foundry.training.schedulers
  foundry.utils.logging
  foundry.utils.xpu.xpu_accelerator

Same ratchet contract as the original 14: do not add, only remove
(after fixing the errors and removing `ignore_errors = true`).

Co-authored-by: Sergey Lyskov <sergey.lyskov@jhu.edu>

* style: ruff format 2 pre-existing files unrelated to bootstrap

These files have been failing `ruff format --check` on production HEAD
(merged via #275 and #281 without a pre-commit run). They block the
existing `lint_production` workflow on every PR, including this
bootstrap. Strictly out of scope for 0001 — kept in a separate commit
so it can be cherry-picked or reverted cleanly.

  models/rfd3/src/rfd3/inference/input_parsing.py
  models/rfd3/tests/test_partial_diffusion.py

No semantic changes — `ruff format` output only.

Co-authored-by: Sergey Lyskov <sergey.lyskov@jhu.edu>

* ci: run test workflow on all pull requests

Drop the base-branch filter on the pull_request trigger so PRs targeting
stacked task branches are gated too, not only PRs into the mainline branches.

Co-authored-by: Sergey Lyskov <sergey.lyskov@jhu.edu>

* Update test.yaml to remove pull_request_target

Removed pull_request_target event from workflow.

---------

Co-authored-by: Sergey Lyskov <sergey.lyskov@jhu.edu>
Co-authored-by: Sergey Lyskov <3302736+lyskov@users.noreply.github.com>
2026-06-02 13:51:28 -05:00
Rachel Clune
b81ccd40d8 Create Issue Templates (#197)
* Create Issue Templates

Created templates for bug reports, feature requests, and usage questions. The main goal is to encourage users to provide files and details required to understand their problem/request/question so that minimal back and forth needs to occur before a solution is reached.

* Revise issue template for clarity and detail

Updated issue template to include a request for images of expected behavior and streamlined the reproduction steps section.
2026-02-21 22:42:28 -08:00
Rachel Clune
bcfa500c75 Add step to disable Jekyll in documentation build
Right now going to the GH pages site just shows the README, this is likely because GH is only building the README with Jekyll even though this workflow should override it without the added lines.
2026-01-02 11:34:48 -08:00
Rachel Clune
f9066e29b1 Change deployment branch from main to production 2026-01-02 11:26:37 -08:00
Rachel Clune
73865046c5 Creating the external foundry documentation structure and first round of documentation for RFD3 (#143)
* Starting to put together the foundry and RFD3 external documentation

Set up the foundation for Sphinx to be able to build the external docs, first draft of a ppi_design_tutorial has been completed.

* Add RFdiffusion3 documentation and update toctree

Added initial documentation for RFdiffusion3 under models/rfd3/docs/index.rst and linked it in the main docs toctree. Updated toctree maxdepth for better navigation and added a symlink for the rfd3 model documentation.

* Update and expand RFdiffusion3 documentation

Added introductory and reference documentation files, improved the index structure with general information and examples, and enhanced the PPI design tutorial with additional notes, figures, and clarifications. Also fixed a typo in a PDB filename.

* Update RFD3 documentation and tutorial content

Expanded the Sphinx static path to include RFD3 assets and made minor formatting and clarity improvements in the main and RFD3-specific documentation. The PPI design tutorial was revised for clarity, improved step-by-step instructions, and better separation of setup and execution steps.

* Update RFD3 documentation and tutorials

Added source_suffix to Sphinx conf.py for Markdown support. Updated index.rst to include new documentation sections. Expanded intro_inference_calculations.md with detailed instructions on inference input formats, job configuration, and output files. Improved input.md formatting for appendices and FAQs. Revised ppi_design_tutorial.md for clarity, added details on settings, and expanded explanations for hotspots and batch inference.

* Update RFD3 docs: clarify input specs and file formats

Expanded and clarified the documentation for RFdiffusion3 input specifications, including more detailed explanations of the 'contig' string, input file types, and example YAML/JSON formats. Improved the intro to inference calculations to better explain the structure and usage of settings files, and updated descriptions for job configuration and output files. Added a placeholder for configuration options documentation.

* Update RFdiffusion3 input documentation and examples

Expanded and clarified the documentation for RFdiffusion3 input specification, including detailed explanations of CLI arguments, InputSpecification fields, the InputSelection mini-language, contig string formatting, and advanced options such as partial diffusion and CIF parser arguments. Added more examples, debugging recommendations, and an updated FAQ. Also updated the output file naming explanation for clarity. Removed the obsolete configuration_options.md file.

Note that images are still not being rendered correctly in many of the md files. Fix will be in future commit.

* PPI tutorial and RFD3 docs update

Created output files for PPI tutorial and listed their locations. Made edits to files to add labels to sections to remove sphinx warnings.

* Delete docs/source/conf.py~

This is an auto-save file from emacs - it does not need to be in the repo.

* Delete docs/source/index.rst~

This is an auto-saved copy of index.rst,  it does not need to be in the repo

* Adding missing images and fixing docs symlink

* Fix grammatical error in RFdiffusion3 documentation

Fixed typo, clarified enzyme design language.

* Fix typos and enhance clarity in inference docs

Corrected typos and improved clarity in the documentation regarding inference settings and file formats.
2026-01-02 11:21:10 -08:00
jbutch
76f28cfdc4 Fix: linting check 2025-12-04 18:56:19 -08:00
jbutch
a14f763a6e Fix: linting check 2025-12-04 18:51:06 -08:00
Rachel Clune
76e61e0c2d docs: update RFD3 README (#714)
* Added more explanation and fixed small issues in demo commands in RFD3 README

* fix github actions grepping ruff

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-02 16:42:04 -08:00
Simon Mathis
d6225dfcce tmp: activate CI 2025-08-12 23:31:01 +01:00
Nathaniel Corley
54cc733a80 chore: apptainer (#352)
* chore: apptainer

* fix: CI linting

* fix: add back environment.yaml
2025-07-07 22:40:56 -07:00
Simon Mathis
ec696acbed run make format on trunk and add CI for make format checks (#162)
* ci: add ci to trunk

* chore: fix linting issues

* ci: rename lint trunk workflow
2025-04-24 11:13:18 -07:00