Commit Graph
79 Commits
Author SHA1 Message Date
Igor SirotinandClaude Opus 4.8 5da314e0f7 feat: add liblogosdelivery cgo bridge (internal/ffi/liblogosdelivery) (#113)
Add internal/ffi/liblogosdelivery, the cgo bridge over liblogosdelivery
(Messaging API), mirroring the libwaku subpackage from #114: synchronous
request/response plumbing, a shared async event callback, and a handle->handler
registry, exposing Go-typed primitives (New/Start/Stop/Destroy,
Subscribe/Unsubscribe/Send, SetEventHandler, Handle, RetOK, EventHandler).

It self-links liblogosdelivery via a #cgo directive. For symmetry — and so the
two bridges never need a shared global -l flag — add the same #cgo LDFLAGS:
-lwaku to the libwaku subpackage. Each subpackage now links exactly its own
library; no binary links both (until logos-delivery#3851).

Extend the PR gate to build liblogosdelivery, set CGO_CFLAGS for both headers
with no -l (each package self-links), run the messaging unit tests, and compile
the kernel tests.

Part of #106.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:19:41 +01:00
Igor SirotinandClaude Fable 5 4fd33b6121 refactor: adopt golang-standards/project-layout (#111)
* refactor: adopt golang-standards/project-layout

Move the legacy kernel wrapper `waku/*` to `pkg/kernel/*` and rename its
package `waku` -> `kernel`; nothing outside the package imported it, so this is
a mechanical import-path/prefix change. Update the relocated Makefile's
relative dep path, the legacy CI workflows (CI/endurance/repeated) build paths,
README, and .gitignore accordingly (preserving the libwaku-cache CI from #109).

Add scaffolding for the upcoming Messaging API work: `internal/ffi` (cgo
bridge), `pkg/messaging` (high-level Node API), and `examples/`. Document
`pkg/kernel` as legacy until logos-delivery#3851 consolidates the C libraries.

Also stop tracking the accidentally-committed `waku-bindings` build artifact
and gitignore the kernel build output.

No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: cleanup

* fix: repair references to removed utils package

nwaku_test_utils.go now uses pkg/kernel/utils.GetRSSKB; the memory_record
tool is self-contained (local helpers, missing mutex restored).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:13:55 +01:00
Igor SirotinandClaude Opus 4.8 0a84f0fb7b ci: add PR-gate workflow + fix module path (#109)
* chore: rename module path to logos-delivery-go-bindings

The module path still read `logos-messaging-go-bindings`, mismatching the
repository name. Rename it to `github.com/logos-messaging/logos-delivery-go-bindings`
and update all in-repo imports. gofmt re-sorts a few import blocks as a result
(plus two files that were already unformatted on master).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: add PR-gate workflow and golangci-lint config

The repo had no `on: pull_request` CI (only workflow_dispatch + nightly
schedule), so nothing validated PRs. Add `.github/workflows/pr.yml` that
builds libwaku and runs `go build`, `go vet`, golangci-lint, and a test-compile
pass on every PR. Add a baseline `.golangci.yml` (standard linters + gofmt).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: scope golangci-lint to new code via new-from-merge-base

Run the full `standard` linter set but only report findings introduced since
the merge-base with master, so the legacy kernel wrapper's pre-existing issues
(unchecked defer-Close, dead helpers) don't drown the gate while new code still
gets full coverage. Fetch origin/master so the base ref is available in CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: clone logos-delivery outside vendor/ and build in module mode

`go build` failed in CI because cloning logos-delivery into `vendor/` put Go
into vendor mode against an inconsistent `vendor/modules.txt`. Clone the
checkout into `.logos-delivery` instead and set `GOFLAGS=-mod=mod` so the gate
always builds in module mode.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: use golangci-lint-action@v7 for golangci-lint v2

v6 of the action rejects golangci-lint v2 versions ("v2 is not supported by
golangci-lint-action v6"). Bump to v7.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* 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>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 23:04:57 +01:00
Darshan ac6f8a5096 chore: align with logos-delivery rename and v0.38.0-beta (#105) 2026-02-27 21:47:05 +05:30
darshankabariya 2f6904edd1 update accordingl to suggestion 2026-01-08 23:27:46 +05:30
darshankabariya 4c6f87e62d chore: deprecated go-waku 2025-12-23 02:40:09 +05:30
darshankabariya c500c6d247 chore: deprecated go-waku 2025-12-23 02:21:12 +05:30
darshankabariya 79f94a234a chore: deprecated go-waku 2025-12-23 01:46:21 +05:30
darshankabariya 0f47d57aa8 chore: deprecated go-waku 2025-12-23 01:23:45 +05:30
darshankabariya 9f6e9ac839 chore: update accordings to rename 2025-12-22 18:23:02 +05:30
darshankabariya cc70f9b695 chore: update accordings to rename 2025-12-22 17:55:04 +05:30
darshankabariya 284bbbc798 chore: update accordings to rename 2025-12-22 17:37:36 +05:30
darshankabariya e774350a9e chore: update accordings to rename 2025-12-22 17:21:52 +05:30
darshankabariya 4f38e24337 chore: update accordings to rename 2025-12-22 17:16:51 +05:30
darshankabariya a600695118 chore: update accordings to rename 2025-12-22 15:13:25 +05:30
darshankabariya 3b704e93c4 chore: update accordings to rename 2025-12-22 14:45:12 +05:30
darshankabariya 576c379ab2 chore: update accordings to rename 2025-12-19 14:09:28 +05:30
darshankabariya c50de8cbc0 chore: daily ci improvement 2025-12-16 17:15:06 +05:30
aya 34ef2958d9 Increase limit to 10 and make job fail on failing tests 2025-06-17 19:42:21 +03:00
aya d06c4f9d8e Modify command 2025-06-17 18:23:25 +03:00
aya 5768714200 Modify count of each test to run 5 times 2025-06-17 18:21:12 +03:00
aya 3655838ef4 Adjust count of each test runs to 15 2025-06-02 20:06:36 +03:00
aya cb45c9fd9f Try to make CI yml run all except stress test jobs 2025-05-18 23:06:44 +03:00
aya 453322161d Reduce sleep time in long test & reduce iterations to 1k in pagination test 2025-05-18 22:36:55 +03:00
aya 878c57ae95 Edit CI.yml file to fix failing syntax 2025-05-18 22:09:26 +03:00
aya 94cf62d436 Modify tests Iterations for failed tests in job 27 2025-05-18 21:43:18 +03:00
aya d964b3e017 Add all 8 tests to yml file & increase iterations 2025-05-17 23:51:19 +03:00
aya 77817409b2 Fix yml file 2025-05-17 23:37:49 +03:00
aya 6034992be6 Revert "Fix yml file"
This reverts commit 6aa0c8afa7.
2025-05-17 23:37:00 +03:00
aya 6aa0c8afa7 Fix yml file 2025-05-17 23:36:35 +03:00
aya 3aabe64cf6 revert changes in CI_endurance file 2025-05-17 23:22:25 +03:00
aya 2de219949e remove git pull 2025-05-17 23:12:30 +03:00
aya 6c178b02fe Fix indentation in another yml file 2025-05-17 23:07:08 +03:00
aya cee649e276 Fix indentation in yml file 2025-05-17 23:05:34 +03:00
aya 3290ffab79 Fix syntax at yml file 2025-05-17 23:02:10 +03:00
aya 778264c6c2 Fix errors in yml file 2025-05-17 22:56:49 +03:00
aya 10eba0f693 Modify again the yml file 2025-05-17 22:50:32 +03:00
aya bdf60992e9 Add the TestStressStoreQuery5kMessagesWithPagination back to yml file 2025-05-17 22:42:08 +03:00
aya 6492705256 try to fix sudo error when running on self hosted runner 2025-05-17 22:34:08 +03:00
aya 72afbc5050 read messages to test the msgchan & fetch latest nwaku and build it 2025-05-17 22:29:00 +03:00
aya af1a60e789 removing the failed test 2025-05-15 20:12:01 +03:00
aya 0d3a25196f Add clean and build to yml 2025-05-15 19:58:03 +03:00
aya 47c83091dc Update some ranges for data 2025-05-15 19:00:04 +03:00
aya f17a654158 make changes in sore.go fro json wrong format and make CI job exit on errors 2025-05-15 18:50:29 +03:00
aya 2184bd7bc0 Add correct path for csv file 2025-05-15 16:35:50 +03:00
aya 25d5df945d try using self hosted runner for the repeated yml file 2025-05-15 15:18:53 +03:00
aya 6564d7a0c0 upload results to csv file in CI job 2025-05-15 13:49:15 +03:00
aya a0e47ac12a Merge master to branch 2025-04-08 20:44:29 +02:00
aya 722005d150 make modifications for jobs 2025-04-06 21:57:48 +02:00
aya dd76d0f864 Fix review points 2025-04-02 11:47:37 +02:00