From ba3d7a766aecac8549cdbaedf5e1aa8f8f46aad5 Mon Sep 17 00:00:00 2001 From: Krystie Date: Sun, 28 Jun 2026 15:19:52 -0700 Subject: [PATCH] ci: enable embedded I2P (i2pd) on all build platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds libi2pd static library build step and -DUSE_I2P_EMBEDDED=ON to all 5 build jobs (Windows Qt, Windows daemon, Linux Qt, Linux daemon, macOS). Previously I2P compiled as stubs — wallet shipped without .b32.i2p address support. macOS uses HOMEBREW=1 for correct i2pd Makefile include paths. --- .github/workflows/build-all.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml index 4c05871..4958883 100644 --- a/.github/workflows/build-all.yml +++ b/.github/workflows/build-all.yml @@ -196,13 +196,17 @@ jobs: -DBUILD_DAEMON=OFF \ -DBUILD_TESTS=OFF \ -DUSE_UPNP=ON \ - -DUSE_QRCODE=OFF + -DUSE_QRCODE=OFF \ + -DUSE_I2P_EMBEDDED=ON - name: Build libtor (embedded Tor static lib) # Windows Qt GUI also transitively links -ltor via triangles_common. # msys2 default install puts everything in /mingw64. run: bash src/tor/build-libtor.sh + - name: Build libi2pd (embedded I2P static lib) + run: bash src/i2p/build-libi2pd.sh + - name: Build run: cmake --build build -j$(nproc) @@ -342,7 +346,8 @@ jobs: -DBUILD_DAEMON=ON \ -DBUILD_CLI=ON \ -DBUILD_TESTS=OFF \ - -DUSE_UPNP=ON + -DUSE_UPNP=ON \ + -DUSE_I2P_EMBEDDED=ON - name: Build libtor (embedded Tor static lib) # Windows: msys2 default install puts everything in /mingw64, @@ -350,6 +355,9 @@ jobs: # See v5.9.25-fork-detection run #466 for why this is needed. run: bash src/tor/build-libtor.sh + - name: Build libi2pd (embedded I2P static lib) + run: bash src/i2p/build-libi2pd.sh + - name: Build run: | cmake --build build -j$(nproc) @@ -414,7 +422,8 @@ jobs: -DBUILD_QT=ON \ -DBUILD_DAEMON=OFF \ -DBUILD_TESTS=OFF \ - -DUSE_UPNP=ON + -DUSE_UPNP=ON \ + -DUSE_I2P_EMBEDDED=ON - name: Build libtor (embedded Tor static lib) # Linux Qt GUI also transitively links -ltor via triangles_common. @@ -425,6 +434,9 @@ jobs: LIBEVENT_DIR=/usr OPENSSL_DIR=/usr ZLIB_DIR=/usr \ bash src/tor/build-libtor.sh + - name: Build libi2pd (embedded I2P static lib) + run: bash src/i2p/build-libi2pd.sh + - name: Build run: cmake --build build -j$(nproc) @@ -546,7 +558,8 @@ jobs: -DBUILD_DAEMON=ON \ -DBUILD_CLI=ON \ -DBUILD_TESTS=OFF \ - -DUSE_UPNP=ON + -DUSE_UPNP=ON \ + -DUSE_I2P_EMBEDDED=ON - name: Build libtor (embedded Tor static lib) # USE_TOR_EMBEDDED defaults to ON and the daemon/Qt GUI both @@ -559,6 +572,9 @@ jobs: LIBEVENT_DIR=/usr OPENSSL_DIR=/usr ZLIB_DIR=/usr \ bash src/tor/build-libtor.sh + - name: Build libi2pd (embedded I2P static lib) + run: bash src/i2p/build-libi2pd.sh + - name: Build run: cmake --build build -j$(nproc) @@ -612,6 +628,7 @@ jobs: -DBUILD_DAEMON=OFF \ -DBUILD_TESTS=OFF \ -DUSE_UPNP=ON \ + -DUSE_I2P_EMBEDDED=ON \ -DBOOST_ROOT=/opt/homebrew/opt/boost \ -DBDB_INCLUDE_PATH=/opt/homebrew/opt/berkeley-db@5/include \ -DBDB_LIB_PATH=/opt/homebrew/opt/berkeley-db@5/lib \ @@ -649,6 +666,10 @@ jobs: ZLIB_DIR=/opt/homebrew/opt/zlib \ bash src/tor/build-libtor.sh + - name: Build libi2pd (embedded I2P static lib) + # HOMEBREW=1 tells the i2pd Makefile to use Homebrew paths. + run: HOMEBREW=1 bash src/i2p/build-libi2pd.sh + - name: Build run: cmake --build build -j$(sysctl -n hw.ncpu)