Skip to content

Conversation

harryswift01
Copy link
Contributor

@harryswift01 harryswift01 commented Sep 17, 2025

Summary

This PR expands the CI pipeline for CodeEntropy to include cross-platform testing and multiple Python versions, improving coverage and reliability.

Changes

Cross-Platform CI Testing:

  • Added matrix strategy to run tests on ubuntu-24.04, windows-2025, and macos-15.
  • Included Python versions 3.11, 3.12, and 3.13 in the test matrix.
  • Updated setup steps to ensure compatibility across platforms.

Impact

  • Improves confidence in CodeEntropy's compatibility across major operating systems.
  • Ensures support for multiple Python versions.
  • Helps catch platform-specific issues earlier in development.

@harryswift01 harryswift01 self-assigned this Sep 17, 2025
@harryswift01 harryswift01 linked an issue Sep 17, 2025 that may be closed by this pull request
@harryswift01 harryswift01 marked this pull request as draft September 17, 2025 12:32
Copy link
Member

@jimboid jimboid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would avoid where possible using -latest in CI. They tend to migrate latest quite early which has in the past led to breaking issues in software stacks. I'm approving here though since a python project is unlikely to suffer this unless the early releases of a new OS have limited python versions available at first release of the env. I've mostly seen this in compilation based and containerised applications, but in general you should version them to control what is available.

Other than this point, great addition to CI.

@harryswift01
Copy link
Contributor Author

Coveralls MacOS runner is currently not working, coverallsapp/github-action#248

- move the `setup()` and `teardown()` functions to a `test_base.py` file to centrally manage the setup and teardown of files
- use `logging.shutdown()` to ensure logging handlers are correctly closed and shutdown after use to avoid file IO issues within tests
- ensure the correct format of `jobxxx` folders are being used within tests ti ensure consistency
- BaseTestCase: improved docstrings, simplified setup/teardown, pre-create logs folder, restore working directory after tests, ensure temp dir cleanup.
- TestEntropyManager: disable MDAnalysis and commands loggers to prevent logging noise during tests.
- TestLoggingConfig: use self.test_dir consistently instead of temp_dir.name for log file paths.
- TestMain: force UTF-8 mode for subprocess (-X utf8) and capture output with UTF-8 encoding to avoid UnicodeEncodeErrors on Windows.
- Inlcude `windows2025` within `project-ci.yaml` as the test cases now work on Windows
…ss-platform path comparisons and proper handling of mixed, invalid, and non-job folder names
@harryswift01 harryswift01 added this to the TBA Release milestone Sep 22, 2025
- Removed the warning about Windows not being tested
- Added quotation marks around the editable `pip install` command to ensure correct installation
@harryswift01 harryswift01 marked this pull request as ready for review September 22, 2025 16:03
@harryswift01 harryswift01 merged commit c5b4c32 into main Sep 22, 2025
13 checks passed
@harryswift01 harryswift01 deleted the 159-expand-ci-testing branch September 22, 2025 16:07
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.

Expand CI Testing to Include Windows and macOS

2 participants