mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-06-11 11:19:41 +00:00
* 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>
70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
name: Bindings Tests
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 2 * * *'
|
|
|
|
jobs:
|
|
Daily:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: "1.23"
|
|
|
|
- name: Clone logos-delivery
|
|
run: |
|
|
mkdir -p vendor
|
|
git clone --depth 1 https://github.com/logos-messaging/logos-delivery.git vendor/logos-delivery
|
|
|
|
- name: Build libwaku
|
|
run: |
|
|
cd vendor/logos-delivery
|
|
echo "Building libwaku in $(pwd)"
|
|
make libwaku -j
|
|
cd ../..
|
|
|
|
- name: Verify paths
|
|
run: make -C pkg/kernel print-paths
|
|
|
|
- name: Verify libwaku artifacts
|
|
run: make -C pkg/kernel check-folders
|
|
|
|
- name: Install Go dependencies
|
|
run: |
|
|
echo "Install Go dependencies $(pwd)"
|
|
go mod download
|
|
go mod vendor
|
|
|
|
- name: Build waku bindings
|
|
run: |
|
|
export LOGOS_DELIVERY_DIR=$(pwd)/vendor/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/"
|
|
make -C pkg/kernel build
|
|
|
|
- name: Increase ulimit
|
|
run: sudo sh -c "ulimit -n 8192"
|
|
|
|
- name: Run daily test
|
|
run: |
|
|
set -euo pipefail
|
|
cd pkg/kernel export LOGOS_DELIVERY_DIR=$(pwd)/vendor/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/"
|
|
go test -count=10 -p=1 -v -timeout=360m . | tee ../testlogs.log
|
|
|
|
- name: Upload daily test logs
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: daily-logs
|
|
path: testlogs.log
|