-
Notifications
You must be signed in to change notification settings - Fork 317
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
CI: systematic testing of SDK and examples on all supported (major) Python version #2445
Labels
🧑💻 dev experience
developer experience (excluding CI)
enhancement
New feature or request
🐍 Python API
Python logging API
🚢 CI
Milestone
Comments
abey79
added
enhancement
New feature or request
🐍 Python API
Python logging API
🧑💻 dev experience
developer experience (excluding CI)
labels
Jun 15, 2023
This was referenced Jun 27, 2023
emilk
added a commit
that referenced
this issue
Jun 30, 2023
…2536) ### What This PR introduces basic support to run tests and examples against all supported version of Python (currently 3.8 to 3.11). Currently, running tests and `run_all.py` is supported. Usage: ``` nox --help nox -s tests nox -s run_all -- --save ``` For discoverability and convenience, I added a couple of `just` commands: ``` just py-tests-allpy just py-run-all-allpy --save ``` On the way, I added the capability to install example requirements to `run_all.py`: ``` python scripts/run_all.py --install-requirements ``` Decisions: - I used [nox](https://nox.thea.codes/en/stable/). The alternative is the older, more widespread [tox](https://tox.wiki/en/latest/). Reasons: `noxfile.py` is an actual Python script (as are most of our scripts already) and `nox` is battle-tested enough to be used in some large projects, including pip itself. - Nox is best installed globally on the dev machine (as it manages its own venvs for running stuff). I updated `setup_dev.sh` accordingly, by installing `pipx` using the OS package manager, and then using pipx to install nox. (This is The Right Way™️ to globally install Python CLIs.) Note: this requires all version of python to be installed and available on the dev machine. Can't recommend MacPorts enough: `sudo port install python38 python39 python310 python311`. Relates to: - #2445 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) <!-- This line will get updated when the PR build summary job finishes. --> PR Build Summary: https://build.rerun.io/pr/2536 <!-- pr-link-docs:start --> Docs preview: https://rerun.io/preview/2d89edf/docs Examples preview: https://rerun.io/preview/2d89edf/examples <!-- pr-link-docs:end --> --------- Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
jleibs
pushed a commit
that referenced
this issue
Jan 5, 2024
### What * Bumps arrow to 14.0.2 * Fixes #3699 * Relates to #2445 I added a bunch of fixes to `scripts/run_all.py`, which has a marked tendency to bit rot: * #4710 Some workaround introduced to deal with PyTorch not 3.12 ready, see: - #4704 TODO: - [x] `nox -s tests-3.12` passing - [x] `nox -s run_all-3.12 --save` passing - [x] `nox -s roundtrips-3.12` passing - [x] Solve this: ``` ❯ pixi add pyarrow==14.0.0 × could not determine any available versions for pyarrow on linux-64. Either the package could not be found or version constraints on other dependencies result in a conflict. ╰─▶ Cannot solve the request because of: No candidates were found for pyarrow ==14.0.0. ``` - [x] Test won't pass until torch is updated for 3.12: pytorch/pytorch#110436 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/4146) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4146) - [Docs preview](https://rerun.io/preview/c0e892a228fcc83e9bef7faff1e17998926ffe52/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/c0e892a228fcc83e9bef7faff1e17998926ffe52/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://ref.rerun.io/dev/bench/) - [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
We should run |
Duplicated by #7510 (which has now more content, some I'm closing this one) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🧑💻 dev experience
developer experience (excluding CI)
enhancement
New feature or request
🐍 Python API
Python logging API
🚢 CI
We currently support all current Python version from 3.8 to 3.11, and will probably aim to support 3.12 ASAP when it's out. Backward compatibility is pretty good on the language side but dependency management can be tricky. For example, pinning versions might fix an issue in 3.8 but break compatibility with, e.g. 3.11 because that version of the package wasn't yet compatible with 3.11.
Regardless of how we want to address that in the future, systematic testing of both the SDK and examples on all supported Python version is a prerequisite.
This issue is about:
Relates to:
The text was updated successfully, but these errors were encountered: