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

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