Add Docker build test workflow and update environment dependencies #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new GitHub Actions workflow to automate Docker image build and testing on pull requests, and refactors the Docker build process to improve dependency management and compatibility with NumPy 2.x and zarr 3.x. The main changes are focused on ensuring that dependencies are installed via
condaandpipinenvironment.ymlrather than directly in theDockerfile, and on verifying the compatibility of critical packages in the CI pipeline.Continuous Integration Improvements
.github/workflows/build-test.ymlto build the Docker image and run smoke tests on dependencies and critical package imports for every pull request affecting Docker-related files. This ensures that the Docker image builds successfully and that key dependencies (including NumPy 2.x and zarr 3.x) are correctly installed and compatible.Dependency Management Refactoring
openslide-python,opencv-python-headless,synapseclient,mantel,ome_types, andminerva-lib-pythonfrom theDockerfileto thepipsection ofdocker/environment.yml, ensuring a more reproducible and maintainable environment specification. [1] [2]numpydependency indocker/environment.ymlto require version 2.x and explicitly addedzarr>=3.0.0to ensure compatibility with the latest versions.zarr,matplotlib) from the main dependencies list indocker/environment.ymlto streamline the environment.These changes help ensure the Docker environment is robust, up-to-date, and that future pull requests are automatically validated for dependency compatibility.