our current version of `grpcio-tools` 1.75.1 bundles `protoc` version:
```
uv run python -m grpc_tools.protoc --version
libprotoc 31.1
```
In CI/Dockerfiles we use 29.4 or whatever the OS provides with the
`protobuf-compiler` package, which for the most part is 21.12.
We actually want to somewhat match these versions but we don't have any
control over OS packages' versions.
We can instead bundle `protoc` as a build dependency for `cln-grpc`.
The current version for that bundles 31.1 as well.
This way the versions of `protoc` are more consistent everywhere.
One downside is that arm 32-bit hosts get no bundled protoc for `cln-grpc`
and have to still install `protobuf-compiler` themselves.
Changelog-None
I noticed this line causing a delay; ChatGPT thinks NSS name lookup.
I've removed the useradd line altogether.
I also install eatmydata first, to try to speed the other installs.
This drops the install step from 1m45 to about 30 seconds.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Usually downloading and installing takes 90 seconds. But sometimes it
takes an hour! Use caching for this, to keep it consistent.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
We shipped our own because Ubuntu xenial (16.4) had an ancient one.
Changelog-Changed: Build: libsodium version >= 1.0.4 now required (released 2015-06-11)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Every distribution we have packages this now.
Changelog-Changed: Build: lowdown is now required (we no longer bundle our own).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Replace poetry with uv for managing Python dependencies and running
commands across CI workflow.
- Add astral-sh/setup-uv@v5 action to install uv
- Replace all poetry run commands with uv run
- Remove poetry-specific installation steps
- Update Python setup in multiple jobs
We used to install it only when Rust was configured, but for some
reason all builds now seem to be Rust builds. That's ok, so just
provide the necessary dependency.
We'd like to have some more structure to the tests, with smoke-tests
going first, followed by valgrind and normal tests running in
parallel. So to cut down on the copy-pasta we extract the scripts from
the yaml, into their own files from where they can be easily invoked.