* Changes to support building on Ubuntu 24.04 and windows-2022 Github runner.
* Update Python to 3.12
* Install dependencies in virtual environment
* Run python scripts from the virtual environment)
* Update dependencies
* Ubuntu dependencies in snap/snapcraft24.yaml
* Python dependencies in requirements.txt
* Windows dependencies built in OpenDroneMap/windows-deps repo
* Update CUDA
* 12.8.1 on Windows
* 13.0.0 on Ubuntu)
* Run tests as part of docker build
* Use exact commits to specify dependencies that are built from source, instead of branch names
* Use upstream versions of Libraries:
* PDAL
* PDAL-Python
* untwine
* ExifRead
* draco
* Build windows builds with -j2
* Use Micasense's latest version of dls.py
* Update failing unit tests to match current behavior
* Adjust `PYTHONPATH` in Dockerfiles to newer `python3.8`
* Switch to 20.04 base images in Dockerfiles
* Switch snapcraft to use `base20`
* Update APT dependency versions in `snapcraft.yaml` to match those
available in Ubuntu 20.04
* Bump `pyproj` from version `2.2.2` to `3.0.0`
* Bump `numpy` from version `1.19.2` to `1.19.4`
* Add missing exclusions to `snapcraft.yaml` to reduce the size of snap
packages
* Add missing exclusions to Dockerfiles to reduce the size of container
images
* Update `configure.sh` to account for Ubuntu 20.04 instead of 18.04
* Nit: make `configure.sh` executable directly with `./configure.sh`
instead of `bash configure.sh`
Signed-off-by: Daniel Llewellyn <daniel@snapcraft.ninja>
My previous evolution of the Dockerfiles grouped the `ENV` entries into
a single definition to reduce the number of intermediate Docker image
layers. Unfortunately I didn't account for the duplicate `PYTHONPATH`
definition so only the second was being applied correctly. This commit
fixes that.
* Combine multiple `ENV PYTHONPATH=` to a single definition.
Signed-off-by: Daniel Llewellyn <daniel@snapcraft.ninja>
* Use `snapcraft.yaml` as the source-of-truth for APT dependencies to reduce burden of maintianing multiple lists
Signed-off-by: Daniel Llewellyn <daniel@snapcraft.ninja>