From 9d49a625becb6e3d63a950a8571f2b4e09bc6933 Mon Sep 17 00:00:00 2001 From: Ivan FB Date: Fri, 12 Jun 2026 11:33:12 +0200 Subject: [PATCH] ci: build only liblogosdelivery and track unify-libs pre-merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .github/workflows/CI.yml | 22 ++++++++++-------- .github/workflows/CI_endurance.yml | 8 +++---- .../workflows/Repeated_tests_endurancce.yml | 4 ++-- .github/workflows/pr.yml | 23 +++++++++++-------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 56d7457..d045888 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -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 diff --git a/.github/workflows/CI_endurance.yml b/.github/workflows/CI_endurance.yml index 7b7538d..65179ea 100644 --- a/.github/workflows/CI_endurance.yml +++ b/.github/workflows/CI_endurance.yml @@ -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 diff --git a/.github/workflows/Repeated_tests_endurancce.yml b/.github/workflows/Repeated_tests_endurancce.yml index ff41f6a..1351ead 100644 --- a/.github/workflows/Repeated_tests_endurancce.yml +++ b/.github/workflows/Repeated_tests_endurancce.yml @@ -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 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c073e5b..e0d8e96 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -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 ./...