Skip to content

CI/CD infrastructure and testing improvements#18

Open
bernalde wants to merge 1 commit intoLyoHUB:mainfrom
SECQUOIA:pr/ci-cd-clean
Open

CI/CD infrastructure and testing improvements#18
bernalde wants to merge 1 commit intoLyoHUB:mainfrom
SECQUOIA:pr/ci-cd-clean

Conversation

@bernalde
Copy link

@bernalde bernalde commented Mar 3, 2026

Summary

This PR adds CI/CD infrastructure and comprehensive testing to LyoPRONTO. It is a cleaned-up replacement for PR #6, trimmed to only CI/CD, testing, and essential source bugfixes (~30 files instead of ~141).

Changes

CI/CD Workflows (3 modified)

  • Updated GitHub Actions workflows (tests.yml, pr-tests.yml, slow-tests.yml) with conda environment setup, caching, and parallel test execution

Build/Config (4 new, 1 modified)

  • pytest.ini — markers, parallel execution, strict mode
  • requirements.txt / requirements-dev.txt — dependency files
  • run_local_ci.sh — local CI reproduction script
  • .gitignore — coverage artifacts and test data exclusions

Test Infrastructure (8 new, 8 modified)

  • 8 new test modules: test_calculators, test_calc_unknownRp_coverage, test_coverage_gaps, test_opt_Pch_Tsh_coverage, test_opt_Pch_coverage, test_optimizer, test_regression, test_web_interface
  • Updated conftest.py with shared fixtures
  • Fixed existing tests for compatibility

Source Bugfixes (5 modified)

  • Fix mTorr conversion in calc_knownRp.py
  • Fix fill_output indexing in functions.py
  • Fix hasattr check in opt_Tsh.py
  • Clean up comments in constant.py, opt_Pch_Tsh.py

Test Data (1 new)

  • reference_optimizer.csv for regression testing

Test Results

  • 232 passed, 3 skipped, 0 failures (excluding pyomo/notebook markers)
  • Tests run in lyopronto conda environment with Python 3.13

Relation to PR #6

This replaces PR #6 which had grown to 141 files including benchmarks, documentation, examples, AI config, and generated artifacts. This PR contains only the CI/CD and testing subset. The excluded content (docs, benchmarks, examples) will be submitted in separate focused PRs.

CI/CD Workflows:
- Update GitHub Actions workflows (tests.yml, pr-tests.yml, slow-tests.yml)
  with conda environment setup, caching, and parallel test execution

Build/Config:
- Add pytest.ini with markers, parallel execution, and strict mode
- Add requirements.txt and requirements-dev.txt
- Add run_local_ci.sh for local CI reproduction
- Update .gitignore for coverage artifacts and test data

Test Infrastructure:
- Update conftest.py with shared fixtures
- Add 8 new test modules: test_calculators, test_calc_unknownRp_coverage,
  test_coverage_gaps, test_opt_Pch_Tsh_coverage, test_opt_Pch_coverage,
  test_optimizer, test_regression, test_web_interface
- Fix existing tests: test_calc_knownRp, test_freezing, test_functions,
  test_main, test_opt_Pch, test_opt_Pch_Tsh, test_opt_Tsh

Source Bugfixes:
- Fix mTorr conversion in calc_knownRp.py
- Fix fill_output indexing in functions.py
- Fix hasattr check in opt_Tsh.py
- Clean up comments in constant.py, opt_Pch_Tsh.py

Test Data:
- Add reference_optimizer.csv for regression testing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant