-
Notifications
You must be signed in to change notification settings - Fork 29
Update build pipeline and switch to pytest #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the build pipeline and migrates the test suite from nose to pytest. The changes modernize the testing infrastructure and build configuration to align with current Python packaging standards.
Key changes include:
- Complete migration from nose to pytest with updated assertion patterns and fixtures
- Modernization of build system from legacy setup.py to pyproject.toml configuration
- Updated CI/CD pipeline to use pytest and more recent action versions
Reviewed Changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_waveform.py | Migrated from nose decorators to pytest, updated assertions and exception handling |
| tests/test_image.py | Replaced nose.tools with pytest equivalents, converted eq_ to standard assert statements |
| tests/test_hdf5.py | Converted nose setup/teardown to pytest fixtures, updated map() calls to explicit loops |
| tests/test_file.py | Migrated nose test decorators to pytest fixtures for temp directory management |
| tests/test_common.py | Removed deprecated functions, added comparison utilities for test assertions |
| tests/test_acquisition.py | Converted nose decorators and assertions to pytest equivalents |
| setup.py | Restructured build commands for schema generation with new command class structure |
| pyproject.toml | Added modern Python project configuration with dependencies and metadata |
| ismrmrd/xsd/init.py | Minor import formatting cleanup |
| conda/run_test.sh | Updated test command from nosetests to pytest |
| conda/meta.yaml | Replaced nose dependency with pytest in conda configuration |
| conda/conda_build_config.yaml | Updated Python version support from 3.9 to 3.10-3.12 |
| .github/workflows/python-publish.yml | Modernized GitHub Actions with updated versions and pytest integration |
| .github/workflows/ismrmrd_python_conda.yml | Updated workflow triggers and action versions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| setup( | ||
| name='ismrmrd', | ||
| version='1.14.1', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the version be bumped?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally, yes, but this project's version has historically followed the version of the main C++ implementation.
So, the version will bump to 1.14.2 in the next PR when I add the ProtocolSerializer, bringing the API to feature parity with the C++ library.
No description provided.