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-messaging-nim run: | mkdir -p vendor git clone --depth 1 https://github.com/logos-messaging/logos-messaging-nim.git vendor/logos-messaging-nim - name: Build libwaku run: | cd vendor/logos-messaging-nim make libwaku -j - name: Verify libwaku artifacts run: | if [ ! -f "vendor/logos-messaging-nim/library/libwaku.h" ]; then echo "ERROR: libwaku.h not found" exit 1 fi if [ ! -f "vendor/logos-messaging-nim/build/libwaku.so" ]; then echo "ERROR: libwaku library not found" exit 1 fi echo "libwaku artifacts verified successfully" - name: Install Go dependencies run: | go mod download go mod vendor - name: Build waku bindings run: | export LMN_DIR=${{ github.workspace }}/vendor/logos-messaging-nim export CGO_CFLAGS="-I${LMN_DIR}/library" export CGO_LDFLAGS="-L${LMN_DIR}/build -lwaku -Wl,-rpath,${LMN_DIR}/build" echo "Verifying environment variables:" echo "LMN_DIR=${LMN_DIR}" echo "CGO_CFLAGS=${CGO_CFLAGS}" echo "CGO_LDFLAGS=${CGO_LDFLAGS}" make -C waku build - name: Increase ulimit run: sudo sh -c "ulimit -n 8192" - name: Run daily test run: | set -euo pipefail cd waku 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