Igor Sirotin 857b0908f9
ci: cache libwaku, gate go mod tidy, rename LMN_DIR
- Rename LMN_DIR -> LOGOS_DELIVERY_DIR across the PR-gate and nightly
  workflows, the waku Makefile, and the build docs.
- Cache the built logos-delivery kernel keyed on its upstream HEAD SHA,
  skipping the clone + libwaku build while that commit is unchanged.
- Add a "go mod tidy is clean" step that fails if go.mod/go.sum drift.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 00:42:09 +03:00

48 lines
1.1 KiB
Markdown

# logos-delivery Go Bindings
Go bindings for the Waku library.
## Install
```
go get -u github.com/logos-messaging/logos-delivery-go-bindings
```
## Building & Dependencies
`libwaku` (from `logos-delivery`) is required at compile-time.
### Building with Makefile
If you have `logos-delivery` checked out, point the build to it:
```bash
# path to your existing logos-delivery clone
export LOGOS_DELIVERY_DIR=/absolute/path/to/logos-delivery
export CGO_CFLAGS="-I${LOGOS_DELIVERY_DIR}/library"
export CGO_LDFLAGS="-L${LOGOS_DELIVERY_DIR}/build -lwaku -Wl,-rpath,${LOGOS_DELIVERY_DIR}/build"
# compile all packages
make -C waku build
# run all tests
make -C waku test
# run a specific test
make -C waku test TEST=TestConnectedPeersInfo
```
## Development
When working on this repository itself, `logos-delivery` is included as a git submodule for convenience.
- Initialize and update the submodule, then build `libwaku`
```sh
git submodule update --init --recursive
make -C waku build-libwaku
```
- Build the project. Submodule paths are used by default to find `libwaku`.
```shell
make -C waku build
```