mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-06-11 19:29:57 +00:00
* 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>
71 lines
2.0 KiB
YAML
71 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 waku print-paths
|
|
|
|
- name: Verify libwaku artifacts
|
|
run: make -C waku 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 waku build
|
|
|
|
- name: Increase ulimit
|
|
run: sudo sh -c "ulimit -n 8192"
|
|
|
|
- name: Run daily test
|
|
run: |
|
|
set -euo pipefail
|
|
cd waku
|
|
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
|