diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b52746e..c8731a7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,9 +48,6 @@ If you have an idea for a new feature or an improvement, please open an issue to ```bash # For a development setup with CUDA 12.x pip install -e '.[dev,cuda12]' - - # For a development setup with CUDA 11.x - pip install -e '.[dev,cuda11]' ``` ## Running Tests @@ -65,6 +62,30 @@ This will automatically discover and run all tests located in the `tests/` direc All tests should pass before you submit your changes. If you are adding a new feature or fixing a bug, please add a corresponding test case to ensure the code is working correctly and to prevent future regressions. +## CI & Automated Testing Environment + +To ensure that all contributions are consistent and stable, our test suite is executed automatically via Gitea Actions. Your pull request must pass all these checks before it can be merged. + +Our CI environment is the ultimate source of truth. It is built using a custom Docker image to lock down dependencies and guarantee reproducibility. + +### Reference Environment Specification + +* **Base OS:** Ubuntu 24.04 +* **CUDA Toolkit:** 12.5.1 +* **Base Docker Image:** `nvidia/cuda:12.5.1-devel-ubuntu24.04` +* **Node.js Version:** 20.x +* **Python Versions Tested:** 3.8, 3.10, 3.12 + +### Reproducing the Environment + +You can replicate our CI environment exactly by using the public Docker image we built for our runners. You can pull it from Docker Hub: + +```bash +docker pull c1ph3rd3v/gitea-runner-cuda-node:12.5.1-ubuntu24.04 +``` + +Using this Docker image for your local development will ensure your code runs in the same environment as our automated tests, minimizing "it works on my machine" issues. + ## Pull Request Process 1. Create a new branch for your feature or bugfix from the `main` branch: diff --git a/README.md b/README.md index c757d82..b634a74 100644 --- a/README.md +++ b/README.md @@ -34,11 +34,6 @@ To enable GPU acceleration, install the extra that matches your installed NVIDIA pip install polysolve[cuda12] ``` -**For CUDA 11.x users:** -```bash -pip install polysolve[cuda11] -``` - --- ## Quick Start @@ -86,6 +81,12 @@ print(f"Approximate roots from GA: {roots_ga[:2]}") --- +## Development & Testing Environment + +This project is automatically tested against a specific set of dependencies to ensure stability. Our Continuous Integration (CI) pipeline runs on an environment using **CUDA 12.5** on **Ubuntu 24.04**. + +While the code may work on other configurations, all contributions must pass the automated tests in our reference environment. For detailed information on how to replicate the testing environment, please see our [**Contributing Guide**](CONTRIBUTING.md). + ## Contributing Contributions are welcome! Whether it's a bug report, a feature request, or a pull request, please feel free to get involved. diff --git a/pyproject.toml b/pyproject.toml index 6c40e6f..6f6243a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ dependencies = [ # --- Optional Dependencies (Extras) --- [project.optional-dependencies] -cuda11 = ["cupy-cuda11x"] cuda12 = ["cupy-cuda12x"] dev = ["pytest"]