ci: build only liblogosdelivery and track unify-libs pre-merge

Drop the libwaku build target and the now-redundant library/ include
path; a single liblogosdelivery covers every package. The clone steps
temporarily pin the unify-libs branch so CI is green before
logos-delivery#3949 merges — the TODOs mark the one-line revert to
master/HEAD once it lands. Also fix a pre-existing glued `cd`/`export`
in the nightly daily-test step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ivan FB 2026-06-12 11:33:12 +02:00
parent 0b97661148
commit 9d49a625be
No known key found for this signature in database
GPG Key ID: DF0C67A04C543270
4 changed files with 31 additions and 26 deletions

View File

@ -23,19 +23,20 @@ jobs:
- name: Clone logos-delivery
run: |
mkdir -p vendor
git clone --depth 1 https://github.com/logos-messaging/logos-delivery.git vendor/logos-delivery
# TODO(logos-delivery#3949): drop --branch once unify-libs is on master.
git clone --depth 1 --branch unify-libs https://github.com/logos-messaging/logos-delivery.git vendor/logos-delivery
- name: Build libwaku
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
echo "Building libwaku in $(pwd)"
make libwaku -j
echo "Building liblogosdelivery in $(pwd)"
make liblogosdelivery -j
cd ../..
- name: Verify paths
run: make -C pkg/kernel print-paths
- name: Verify libwaku artifacts
- name: Verify liblogosdelivery artifacts
run: make -C pkg/kernel check-folders
- name: Install Go dependencies
@ -47,8 +48,8 @@ jobs:
- 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/"
export CGO_CFLAGS="-I${LOGOS_DELIVERY_DIR}/liblogosdelivery/"
export CGO_LDFLAGS="-L${LOGOS_DELIVERY_DIR}/build/ -llogosdelivery -Wl,-rpath,${LOGOS_DELIVERY_DIR}/build/"
make -C pkg/kernel build
- name: Increase ulimit
@ -57,9 +58,10 @@ jobs:
- 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/"
export LOGOS_DELIVERY_DIR=$(pwd)/vendor/logos-delivery
export CGO_CFLAGS="-I${LOGOS_DELIVERY_DIR}/liblogosdelivery/"
export CGO_LDFLAGS="-L${LOGOS_DELIVERY_DIR}/build/ -llogosdelivery -Wl,-rpath,${LOGOS_DELIVERY_DIR}/build/"
cd pkg/kernel
go test -count=10 -p=1 -v -timeout=360m . | tee ../testlogs.log
- name: Upload daily test logs

View File

@ -33,10 +33,10 @@ jobs:
- name: Vendor Go dependencies
run: go mod vendor
- name: Build libwaku
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
make libwaku
make liblogosdelivery
- name: Build waku bindings
run: make -C pkg/kernel build
@ -92,10 +92,10 @@ jobs:
- name: Vendor Go dependencies
run: go mod vendor
- name: Build libwaku
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
make libwaku
make liblogosdelivery
- name: Build waku bindings
run: make -C pkg/kernel build

View File

@ -33,10 +33,10 @@ jobs:
- name: Vendor Go dependencies
run: go mod vendor
- name: Build libwaku
- name: Build liblogosdelivery
run: |
cd vendor/logos-delivery
make libwaku
make liblogosdelivery
- name: Build waku bindings
run: make -C pkg/kernel build

View File

@ -17,12 +17,12 @@ jobs:
# Clone the logos-delivery checkout OUTSIDE the module tree: a directory
# named `vendor/` at the module root would put Go into vendor mode.
LOGOS_DELIVERY_DIR: ${{ github.workspace }}/.logos-delivery
# Both kernel (libwaku) and messaging (liblogosdelivery) headers are on
# the include path so every package compiles. `-l` is deliberately NOT
# set here: each internal/ffi subpackage selects its own library via a
# `#cgo LDFLAGS` directive, so no binary links both libs (they export
# overlapping symbols until logos-delivery#3851).
CGO_CFLAGS: -I${{ github.workspace }}/.logos-delivery/library/ -I${{ github.workspace }}/.logos-delivery/liblogosdelivery/
# Since logos-delivery#3949 unified the libraries, the waku_* and
# logosdelivery_* ABIs both live in liblogosdelivery, so a single header
# path covers every package. `-l` is deliberately NOT set here: each
# internal/ffi subpackage selects the library via its own `#cgo LDFLAGS`
# directive.
CGO_CFLAGS: -I${{ github.workspace }}/.logos-delivery/liblogosdelivery/
CGO_LDFLAGS: -L${{ github.workspace }}/.logos-delivery/build/ -Wl,-rpath,${{ github.workspace }}/.logos-delivery/build/
# Build in module mode; never use a vendor/ dir.
GOFLAGS: -mod=mod
@ -44,7 +44,9 @@ jobs:
# unchanged. ls-remote gives us the SHA before we clone.
id: logos-delivery-rev
run: |
rev=$(git ls-remote https://github.com/logos-messaging/logos-delivery.git HEAD | cut -f1)
# TODO(logos-delivery#3949): revert to HEAD once the unify-libs PR
# merges into logos-delivery master.
rev=$(git ls-remote https://github.com/logos-messaging/logos-delivery.git refs/heads/unify-libs | cut -f1)
echo "rev=$rev" >> "$GITHUB_OUTPUT"
- name: Cache logos-delivery build
@ -56,11 +58,12 @@ jobs:
- name: Clone logos-delivery
if: steps.logos-delivery-cache.outputs.cache-hit != 'true'
run: git clone --depth 1 https://github.com/logos-messaging/logos-delivery.git "$LOGOS_DELIVERY_DIR"
# TODO(logos-delivery#3949): drop --branch once unify-libs is on master.
run: git clone --depth 1 --branch unify-libs https://github.com/logos-messaging/logos-delivery.git "$LOGOS_DELIVERY_DIR"
- name: Build libwaku + liblogosdelivery
- name: Build liblogosdelivery
if: steps.logos-delivery-cache.outputs.cache-hit != 'true'
run: make -C "$LOGOS_DELIVERY_DIR" libwaku liblogosdelivery -j
run: make -C "$LOGOS_DELIVERY_DIR" liblogosdelivery -j
- name: go build
run: go build ./...