Skip to content

Conversation

@stefanoamorelli
Copy link
Owner

@stefanoamorelli stefanoamorelli commented Aug 17, 2025

Summary

  • Add PyPI/TestPyPI publishing workflow with trusted publishing (no tokens needed)
  • Add comprehensive CI workflow for cross-platform testing (Python 3.11-3.13, Ubuntu/Windows/macOS)
  • Fix Conda build issues:
    • Dynamic version detection from Git tags
    • Correct Python requirement (3.11 instead of 3.13)
    • Proper runtime dependencies

Changes

  • New workflow: .github/workflows/publish_pypi.yml - publishes to PyPI on release
  • New workflow: .github/workflows/ci.yml - runs tests across platforms
  • Fixed: conda/meta.yaml - now works with current project requirements
  • Updated: pyproject.toml - improved package configuration

Testing

  • ✅ Package builds successfully
  • ✅ Twine validation passes
  • ✅ Linting and type checking pass
  • ✅ Workflow YAML files validated

- Add GitHub Actions workflow for PyPI/TestPyPI publishing
- Add comprehensive CI workflow for multi-platform testing
- Fix Conda meta.yaml to use dynamic versioning from Git tags
- Fix Python version requirement in Conda (3.11 instead of 3.13)
- Update Conda dependencies to match pyproject.toml
- Update setuptools configuration for proper package discovery
- Fix license specification to use SPDX format
- Add setup script for GitHub environments configuration
- Add test-dist to .gitignore

All workflows tested and validated locally.
- Replace bash-specific timeout command with cross-platform Python subprocess
- Use subprocess.Popen with terminate() for reliable server testing
- Works consistently across Ubuntu, macOS, and Windows runners
- Replace complex server startup test with comprehensive import/instantiation tests
- Add separate build job to verify package can be built and distributed
- Test that all modules can be imported and tools can be instantiated
- Thoroughly tested all steps locally before committing
- Replace checkmark Unicode character (✓) with [OK] prefix
- Windows CI fails with 'charmap' codec error on cp1252 encoding
- Use ASCII-only output for cross-platform compatibility
@stefanoamorelli stefanoamorelli merged commit cebc37f into main Aug 17, 2025
11 checks passed
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.

2 participants