Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RSDK-9936] Get the CI system to build the module again (#30)
Tried on my Orin Nano: seems to work! Changes include: - Github has upgraded its CI runners to Python 3.13. This PR upgrades `pillow` and `numpy` to py3.13-compatible versions. - Print more diagnostic info in the github action that installs dependencies. If the dependencies install correctly, no one will notice it, and if they don't install correctly, this will be super useful. - The py3.13 linter has a new check for too many positional arguments, which the Viam API fails. We need to faithfully implement the API, so I disabled that check on the line that violates it. - Half the tests were getting skipped without installing `pytest-asyncio`, so I added that in. - Most of requirements.txt was not pinned: you and I might be running very different versions of each dependency, because we get whatever the latest one was when we installed. This can be dangerous if one of those packages makes a breaking change. So, I pinned everything to what I installed. I'm open to other versions instead, but think it's important to pin them all. - I added a .gitignore so that running `git status` shows the repo as clean even after running the tests. Why didn't other people have this issue in the past? I wonder if I was supposed to set things up differently... - and I added more to .gitignore so that the repo is clean even after running `make setup`. I could be wrong about this: maybe you want the presence of those build artifacts front-and-center. - When running as a local module, viam-server expects meta.json to be in the same directory as your .tar.gz file. So, I symlinked it into dist/ in build.sh. I also forced the symlink to be created, so that it doesn't fail if you run `make setup` a second time. That has a bit of a smell, but I couldn't think of a better approach. Any ideas? - The Python SDK renamed `SUBTYPE` to `API` recently, so I renamed to match. There's still something slightly off: `make dist/archive.tar.gz` failed with errors about a nonexistent file, until I ran `make setup`. Since then, `make dist/archive.tar.gz` doesn't run because everything is up-to-date even though I edited the code. but perhaps that's a problem for another day. (I also had spurious errors about being unable to open /tmp/something/libpython3.10.so, but then they spontaneously disappeared 🤷 ) * upgrade packages for Python 3.13 support. Print more diagnostics when installing requirements in github actions * make the linter happy * get the tests to all run * add a .gitignore * pin versions of everything, to prevent versioning problems on new installs * Running make setup shouldn't make the repo dirty * symlink meta.json into dist/ for ease of running as a local module * rename SUBTYPE -> API, per changes in the SDK * force the symlink even if it already exists * add .venv to the .gitignore, too
- Loading branch information