Apply patch from GitHub PR #4 by jono-rams
All checks were successful
Run Python Tests / test (3.10) (pull_request) Successful in 10s
Run Python Tests / test (3.12) (pull_request) Successful in 15s
Run Python Tests / test (3.8) (pull_request) Successful in 9s

This commit is contained in:
GitHub Bridge Bot
2025-06-17 13:05:16 +00:00
parent 78970c8288
commit 83f565c08c
2 changed files with 24 additions and 21 deletions

View File

@ -8,23 +8,26 @@ First off, thank you for considering contributing! We welcome any contributions,
* [Suggesting Enhancements](#suggesting-enhancements) * [Suggesting Enhancements](#suggesting-enhancements)
* [Setting Up the Development Environment](#setting-up-the-development-environment) * [Setting Up the Development Environment](#setting-up-the-development-environment)
* [Running Tests](#running-tests) * [Running Tests](#running-tests)
* [Our CI Process & The Gitea Bridge](#our-ci-process--the-gitea-bridge)
* [Pull Request Process](#pull-request-process) * [Pull Request Process](#pull-request-process)
## Reporting Bugs ## Reporting Bugs
If you find a bug, please open an issue on our Gitea issue tracker. Please include as many details as possible, such as your OS, Python version, steps to reproduce, and any error messages. If you find a bug, please open an issue on our GitHub issue tracker. Please include as many details as possible, such as your OS, Python version, steps to reproduce, and any error messages.
[Report a Bug](https://github.com/jono-rams/PolySolve/issues/new?assignees=&labels=bug&template=bug_report.md&title=)
## Suggesting Enhancements ## Suggesting Enhancements
If you have an idea for a new feature or an improvement, please open an issue to discuss it. This allows us to coordinate efforts and ensure the proposed change aligns with the project's goals. If you have an idea for a new feature or an improvement, please open an issue to discuss it. This allows us to coordinate efforts and ensure the proposed change aligns with the project's goals.
[Suggest an Enhancement](https://github.com/jono-rams/PolySolve/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)
## Setting Up the Development Environment ## Setting Up the Development Environment
1. **Fork the repository** on Gitea. 1. **Fork the repository** on GitHub.
2. **Clone your fork** locally: 2. **Clone your fork** locally:
```bash ```bash
git clone [https://gitea.example.com/YourUsername/PolySolve.git](https://gitea.example.com/YourUsername/PolySolve.git) git clone git clone https://github.com/YourUsername/PolySolve.git
cd PolySolve cd PolySolve
``` ```
@ -58,34 +61,33 @@ We use `pytest` for automated testing. After setting up the development environm
pytest pytest
``` ```
This will automatically discover and run all tests located in the `tests/` directory. This will automatically discover and run all tests located in the `tests/` directory. 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.
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. ## Our CI Process & The Gitea Bridge
## CI & Automated Testing Environment To ensure that all contributions are consistent and stable, our test suite is executed automatically in a controlled environment. Heres how it works:
1. Our canonical source of truth and CI/CD runners are managed on our private Gitea instance.
2. When you open a Pull Request on GitHub, our "Gitea Bridge" bot automatically mirrors your changes to a corresponding PR on our Gitea instance.
3. The tests are run using Gitea Actions within our specific, reproducible environment.
4. The results (success or failure) are then reported back to your GitHub Pull Request via a status check named "Gitea CI Bridge".
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. 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 ### Reference Environment Specification
You can replicate our CI environment exactly to minimize "it works on my machine" issues.
* **Base OS:** Ubuntu 24.04 * **Base OS:** Ubuntu 24.04
* **CUDA Toolkit:** 12.5.1 * **CUDA Toolkit:** 12.5.1
* **Base Docker Image:** `nvidia/cuda:12.5.1-devel-ubuntu24.04` * **Base Docker Image:** `nvidia/cuda:12.5.1-devel-ubuntu24.04`
* **Node.js Version:** 20.x * **Node.js Version:** 20.x
* **Python Versions Tested:** 3.8, 3.10, 3.12 * **Python Versions Tested:** 3.8, 3.10, 3.12
* **CI Docker Image:** You can pull the exact image used by our runners from Docker Hub:
### 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 ```bash
docker pull c1ph3rd3v/gitea-runner-cuda-node:12.5.1-ubuntu24.04 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 ## Pull Request Process
1. Create a new branch for your feature or bugfix from the `main` branch: 1. Create a new branch for your feature or bugfix from the `main` branch:
@ -99,7 +101,7 @@ Using this Docker image for your local development will ensure your code runs in
pytest pytest
``` ```
5. Commit your changes with a clear and descriptive commit message. 5. Commit your changes with a clear and descriptive commit message.
6. Push your branch to your fork on Gitea. 6. Push your branch to your fork on GitHub.
7. Open a pull request to the `main` branch of the original `PolySolve` repository. Please provide a clear title and description for your pull request. 7. Open a **Pull Request** to the `main` branch of the `jono-rams/PolySolve` repository on **GitHub**. Please provide a clear title and description for your pull request.
Once you submit your pull request, our automated CI tests will run. We will review your contribution and provide feedback as soon as possible. Thank you for your contribution! Once you submit your pull request, our automated CI tests will run. We will review your contribution and provide feedback as soon as possible. Thank you for your contribution!

View File

@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
# --- Core Metadata --- # --- Core Metadata ---
name = "polysolve" name = "polysolve"
version = "0.1.0" version = "0.1.1"
authors = [ authors = [
{ name="Jonathan Rampersad", email="jonathan@jono-rams.work" }, { name="Jonathan Rampersad", email="jonathan@jono-rams.work" },
] ]
@ -42,5 +42,6 @@ cuda12 = ["cupy-cuda12x"]
dev = ["pytest"] dev = ["pytest"]
[project.urls] [project.urls]
Homepage = "https://gitea.jono-rams.work/jono/PolySolve" Homepage = "https://github.com/jono-rams/PolySolve"
"Bug Tracker" = "https://gitea.jono-rams.work/jono/PolySolve/issues" "Source Code" = "https://github.com/jono-rams/PolySolve"
"Bug Tracker" = "https://github.com/jono-rams/PolySolve/issues"