From a0798c5fb75734ee4d27354d98832fbf10cf7ac9 Mon Sep 17 00:00:00 2001 From: such-gitea Date: Sat, 24 Jan 2026 15:39:54 -0500 Subject: [PATCH] Update .gitea/workflows/build.yaml --- .gitea/workflows/build.yaml | 422 ++++++++++++++++++++++++------------ 1 file changed, 282 insertions(+), 140 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index a934b98..0349f16 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build Wownero LWS (Static / Boost 1.90) +name: Build Wownero LWS (Split Jobs) on: push: branches: [ master, main ] @@ -10,7 +10,100 @@ env: CORE_TAG: 'v0.11.4.0' jobs: - build-cross: + # ================================================================== + # JOB 1: LINUX NATIVE (x86_64) + # ================================================================== + linux-native: + runs-on: ubuntu-latest + container: + image: wownero-builder-base:latest + options: --user root + steps: + - name: Fix DNS + run: echo "192.168.88.230 git.such.software" >> /etc/hosts + - name: Checkout + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + rm -rf * + git config --global --add safe.directory '*' + git config --global url."http://oauth2:${GITHUB_TOKEN}@git.such.software:3000/Builds/RandomWOW.git".insteadOf "https://codeberg.org/wownero/RandomWOW" + git clone http://oauth2:$GITHUB_TOKEN@git.such.software:3000/${{ github.repository }}.git . + git submodule update --init --recursive + + - name: Patch Source + run: | + # Remove 'final' keyword to fix C++20/Boost 1.90 + perl -pi -e 's/struct\s+rest_server::handler_loop\s+final/struct rest_server::handler_loop/g' src/rest_server.cpp + # Nuke ICU checks to prevent "Not Found" errors + perl -pi -e 's/find_library\(ICU/# find_library(ICU/g' external/monero/CMakeLists.txt + + - name: Download SDK + run: | + curl -L -k -o sdk.tar.gz "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-x86_64-linux-gnu.tar.gz" + tar -xf sdk.tar.gz -C /opt/wownero-sdk + + - name: Fix Libraries + run: | + # Alias hidapi if needed + if [ -f /opt/wownero-sdk/lib/libhidapi-libusb.a ] && [ ! -f /opt/wownero-sdk/lib/libhidapi.a ]; then + cp /opt/wownero-sdk/lib/libhidapi-libusb.a /opt/wownero-sdk/lib/libhidapi.a + fi + + - name: Install Modern CMake + run: | + curl -L -o cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.tar.gz + tar -xf cmake.tar.gz + echo "$(pwd)/cmake-3.28.1-linux-x86_64/bin" >> $GITHUB_PATH + + - name: Build + run: | + mkdir build && cd build + SDK_DIR="/opt/wownero-sdk" + + # Native build: Just point to SDK, disable readline, let it find system libs (RT/Pthread) + # We explicitly set libs to be safe + cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_STATIC=ON \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ + -DBOOST_ROOT="$SDK_DIR" \ + -DBoost_NO_SYSTEM_PATHS=ON \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DOPENSSL_ROOT_DIR="$SDK_DIR" \ + -DOPENSSL_USE_STATIC_LIBS=TRUE \ + -DUNBOUND_INCLUDE_DIR="$SDK_DIR/include" \ + -DUNBOUND_LIBRARY="$SDK_DIR/lib/libunbound.a" \ + -DZMQ_INCLUDE_DIR="$SDK_DIR/include" \ + -DZMQ_LIBRARY="$SDK_DIR/lib/libzmq.a" \ + -DSodium_INCLUDE_DIR="$SDK_DIR/include" \ + -DSodium_LIBRARY_RELEASE="$SDK_DIR/lib/libsodium.a" \ + -DLIBUSB_INCLUDE_DIR="$SDK_DIR/include" \ + -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ + -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ + -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ + -DZSTD_LIBRARY=$SDK_DIR/lib/libzstd.a \ + -DZSTD_INCLUDE_DIR=$SDK_DIR/include \ + -DLIBEVENT_LIBRARY=$SDK_DIR/lib/libevent.a \ + -DLIBEVENT_INCLUDE_DIR=$SDK_DIR/include \ + -DUSE_READLINE=OFF + + make -j$(nproc) + + - name: Package + run: | + mkdir release + tar -czf release/wownero-lws-x86_64-linux-gnu.tar.gz -C build/src wownero-lws-daemon wownero-lws-admin + + - name: Upload + uses: actions/upload-artifact@v3 + with: + name: wownero-lws-x86_64-linux-gnu + path: release/*.tar.gz + + # ================================================================== + # JOB 2: LINUX CROSS (ARM64 / RISCV64) + # ================================================================== + linux-cross: runs-on: ubuntu-latest container: image: wownero-builder-base:latest @@ -19,47 +112,15 @@ jobs: fail-fast: false matrix: include: - # Linux x64 (Native) - - target: x86_64-linux-gnu - sys: Linux - proc: x86_64 - cc: gcc - cxx: g++ - ext: "" - sysroot: "" # Native builds don't need explicit sysroot - - # Linux ARM64 (Cross) - target: aarch64-linux-gnu - sys: Linux proc: aarch64 - cc: aarch64-linux-gnu-gcc - cxx: aarch64-linux-gnu-g++ - ext: "" - sysroot: "/usr/aarch64-linux-gnu" - - # Linux RISC-V (Cross) + sysroot: /usr/aarch64-linux-gnu - target: riscv64-linux-gnu - sys: Linux proc: riscv64 - cc: riscv64-linux-gnu-gcc - cxx: riscv64-linux-gnu-g++ - ext: "" - sysroot: "/usr/riscv64-linux-gnu" - - # Windows x64 (Cross) - - target: x86_64-w64-mingw32 - sys: Windows - proc: x86_64 - cc: x86_64-w64-mingw32-gcc - cxx: x86_64-w64-mingw32-g++ - rc: x86_64-w64-mingw32-windres - ext: ".exe" - sysroot: "/usr/x86_64-w64-mingw32" - + sysroot: /usr/riscv64-linux-gnu steps: - name: Fix DNS run: echo "192.168.88.230 git.such.software" >> /etc/hosts - - name: Checkout env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -67,36 +128,20 @@ jobs: rm -rf * git config --global --add safe.directory '*' git config --global url."http://oauth2:${GITHUB_TOKEN}@git.such.software:3000/Builds/RandomWOW.git".insteadOf "https://codeberg.org/wownero/RandomWOW" - git config --global url."http://oauth2:${GITHUB_TOKEN}@git.such.software:3000/Builds/wownero.git".insteadOf "https://codeberg.org/wownero/wownero.git" git clone http://oauth2:$GITHUB_TOKEN@git.such.software:3000/${{ github.repository }}.git . git submodule update --init --recursive - # --- PATCHES --- - - name: Patch Source Code + - name: Patch Source run: | - echo "Removing 'final' keyword from rest_server.cpp..." perl -pi -e 's/struct\s+rest_server::handler_loop\s+final/struct rest_server::handler_loop/g' src/rest_server.cpp - - echo "Nuking ALL ICU checks in Monero CMake..." - # This regex matches 'find_library(ICU' and comments out the whole line. - # It fixes icuio, icuin, and icuuc failures on Windows. perl -pi -e 's/find_library\(ICU/# find_library(ICU/g' external/monero/CMakeLists.txt - - name: Download Static SDK + - name: Download SDK run: | - echo "Downloading Core SDK: ${{ env.CORE_TAG }} / ${{ matrix.target }}" - curl -L -k -o sdk.tar.gz \ - "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-${{ matrix.target }}.tar.gz" - - if [ $(stat -c%s sdk.tar.gz) -lt 1000000 ]; then - echo "Error: SDK download failed" - cat sdk.tar.gz - exit 1 - fi - mkdir -p /opt/wownero-sdk + curl -L -k -o sdk.tar.gz "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-${{ matrix.target }}.tar.gz" tar -xf sdk.tar.gz -C /opt/wownero-sdk - - name: Fix SDK Libraries + - name: Fix Libraries run: | if [ -f /opt/wownero-sdk/lib/libhidapi-libusb.a ] && [ ! -f /opt/wownero-sdk/lib/libhidapi.a ]; then cp /opt/wownero-sdk/lib/libhidapi-libusb.a /opt/wownero-sdk/lib/libhidapi.a @@ -108,44 +153,32 @@ jobs: tar -xf cmake.tar.gz echo "$(pwd)/cmake-3.28.1-linux-x86_64/bin" >> $GITHUB_PATH - - name: Build LWS + - name: Generate Toolchain + run: | + # STRICT TOOLCHAIN for Cross-Compile + # Setting CMAKE_SYSROOT is key to finding librt/libpthread in the right place + cat < cross.cmake + set(CMAKE_SYSTEM_NAME Linux) + set(CMAKE_SYSTEM_PROCESSOR ${{ matrix.proc }}) + set(CMAKE_C_COMPILER ${{ matrix.target }}-gcc) + set(CMAKE_CXX_COMPILER ${{ matrix.target }}-g++) + set(CMAKE_SYSROOT ${{ matrix.sysroot }}) + + # Allow looking in both SDK and Sysroot. NEVER Host. + set(CMAKE_FIND_ROOT_PATH /opt/wownero-sdk ${{ matrix.sysroot }}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + EOF + + - name: Build run: | mkdir build && cd build SDK_DIR="/opt/wownero-sdk" - # Force specific libraries to avoid lookup errors - # We use the STATIC (.a) files from our SDK - LIBS="-DZSTD_LIBRARY=$SDK_DIR/lib/libzstd.a \ - -DZSTD_INCLUDE_DIR=$SDK_DIR/include \ - -DZLIB_LIBRARY=$SDK_DIR/lib/libz.a \ - -DZLIB_INCLUDE_DIR=$SDK_DIR/include \ - -DLIBEVENT_LIBRARY=$SDK_DIR/lib/libevent.a \ - -DLIBEVENT_INCLUDE_DIR=$SDK_DIR/include \ - -DHIDAPI_INCLUDE_DIR=$SDK_DIR/include \ - -DHIDAPI_LIBRARY=$SDK_DIR/lib/libhidapi.a" - - # Configure Platform specifics - if [ "${{ matrix.sys }}" == "Windows" ]; then - # Windows: Static linking + multiple definition fix - SYS_FLAGS="-DCMAKE_SYSTEM_NAME=Windows \ - -DCMAKE_RC_COMPILER=${{ matrix.rc }} \ - -DCMAKE_EXE_LINKER_FLAGS='-static -Wl,--allow-multiple-definition -L$SDK_DIR/lib'" - else - # Linux: Set SYSROOT so it finds librt/libpthread correctly - # We DO NOT set CMAKE_LINKER manually, let the compiler wrapper handle it. - SYS_FLAGS="-DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_EXE_LINKER_FLAGS='-L$SDK_DIR/lib'" - - if [ "${{ matrix.sysroot }}" != "" ]; then - SYS_FLAGS="$SYS_FLAGS -DCMAKE_SYSROOT=${{ matrix.sysroot }}" - fi - fi - - # Disable Readline explicitly - cmake .. $SYS_FLAGS \ - -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.proc }} \ - -DCMAKE_C_COMPILER=${{ matrix.cc }} \ - -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \ + # We use -L to force finding the ZLIB in our SDK, overriding any sysroot confusion + cmake .. -DCMAKE_TOOLCHAIN_FILE=../cross.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC=ON \ -DCMAKE_PREFIX_PATH="$SDK_DIR" \ @@ -162,30 +195,146 @@ jobs: -DSodium_LIBRARY_RELEASE="$SDK_DIR/lib/libsodium.a" \ -DLIBUSB_INCLUDE_DIR="$SDK_DIR/include" \ -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ - -DUSE_READLINE=OFF \ - $LIBS - + -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ + -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ + -DZSTD_LIBRARY=$SDK_DIR/lib/libzstd.a \ + -DZSTD_INCLUDE_DIR=$SDK_DIR/include \ + -DLIBEVENT_LIBRARY=$SDK_DIR/lib/libevent.a \ + -DLIBEVENT_INCLUDE_DIR=$SDK_DIR/include \ + -DZLIB_LIBRARY=$SDK_DIR/lib/libz.a \ + -DZLIB_INCLUDE_DIR=$SDK_DIR/include \ + -DUSE_READLINE=OFF + make -j$(nproc) - - name: Package Release + - name: Package run: | mkdir release - if [ "${{ matrix.sys }}" == "Windows" ]; then - zip -j release/wownero-lws-${{ matrix.target }}.zip build/src/wownero-lws-daemon${{ matrix.ext }} build/src/wownero-lws-admin${{ matrix.ext }} - else - tar -czf release/wownero-lws-${{ matrix.target }}.tar.gz -C build/src wownero-lws-daemon${{ matrix.ext }} wownero-lws-admin${{ matrix.ext }} - fi + tar -czf release/wownero-lws-${{ matrix.target }}.tar.gz -C build/src wownero-lws-daemon wownero-lws-admin - - name: Upload Artifact + - name: Upload uses: actions/upload-artifact@v3 with: name: wownero-lws-${{ matrix.target }} - path: release/wownero-lws-${{ matrix.target }}.* + path: release/*.tar.gz - # ------------------------------------------------------------------ - # 2. MACOS (Hybrid) - # ------------------------------------------------------------------ - build-macos: + # ================================================================== + # JOB 3: WINDOWS (x86_64) + # ================================================================== + windows: + runs-on: ubuntu-latest + container: + image: wownero-builder-base:latest + options: --user root + steps: + - name: Fix DNS + run: echo "192.168.88.230 git.such.software" >> /etc/hosts + - name: Checkout + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + rm -rf * + git config --global --add safe.directory '*' + git config --global url."http://oauth2:${GITHUB_TOKEN}@git.such.software:3000/Builds/RandomWOW.git".insteadOf "https://codeberg.org/wownero/RandomWOW" + git clone http://oauth2:$GITHUB_TOKEN@git.such.software:3000/${{ github.repository }}.git . + git submodule update --init --recursive + + - name: Patch Source + run: | + perl -pi -e 's/struct\s+rest_server::handler_loop\s+final/struct rest_server::handler_loop/g' src/rest_server.cpp + perl -pi -e 's/find_library\(ICU/# find_library(ICU/g' external/monero/CMakeLists.txt + + - name: Download SDK + run: | + curl -L -k -o sdk.tar.gz "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-x86_64-w64-mingw32.tar.gz" + tar -xf sdk.tar.gz -C /opt/wownero-sdk + + - name: Fix Libraries & Dummy RT + run: | + if [ -f /opt/wownero-sdk/lib/libhidapi-libusb.a ] && [ ! -f /opt/wownero-sdk/lib/libhidapi.a ]; then + cp /opt/wownero-sdk/lib/libhidapi-libusb.a /opt/wownero-sdk/lib/libhidapi.a + fi + # Dummy librt for Windows to satisfy cmake checks + echo "" > dummy.c + x86_64-w64-mingw32-gcc -c dummy.c -o dummy.o + x86_64-w64-mingw32-ar rcs /opt/wownero-sdk/lib/librt.a dummy.o + + - name: Install Modern CMake + run: | + curl -L -o cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.tar.gz + tar -xf cmake.tar.gz + echo "$(pwd)/cmake-3.28.1-linux-x86_64/bin" >> $GITHUB_PATH + + - name: Generate Toolchain + run: | + cat < cross.cmake + set(CMAKE_SYSTEM_NAME Windows) + set(CMAKE_SYSTEM_PROCESSOR x86_64) + set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) + set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) + set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) + + # Only look in SDK. Windows has no sysroot on Linux. + set(CMAKE_FIND_ROOT_PATH /opt/wownero-sdk) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + EOF + + - name: Build + run: | + mkdir build && cd build + SDK_DIR="/opt/wownero-sdk" + + # Windows Needs: -static, -Wl,--allow-multiple-definition + # Pass explicit path to our dummy librt.a + cmake .. -DCMAKE_TOOLCHAIN_FILE=../cross.cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_STATIC=ON \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ + -DBOOST_ROOT="$SDK_DIR" \ + -DBoost_NO_SYSTEM_PATHS=ON \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DOPENSSL_ROOT_DIR="$SDK_DIR" \ + -DOPENSSL_USE_STATIC_LIBS=TRUE \ + -DUNBOUND_INCLUDE_DIR="$SDK_DIR/include" \ + -DUNBOUND_LIBRARY="$SDK_DIR/lib/libunbound.a" \ + -DZMQ_INCLUDE_DIR="$SDK_DIR/include" \ + -DZMQ_LIBRARY="$SDK_DIR/lib/libzmq.a" \ + -DSodium_INCLUDE_DIR="$SDK_DIR/include" \ + -DSodium_LIBRARY_RELEASE="$SDK_DIR/lib/libsodium.a" \ + -DLIBUSB_INCLUDE_DIR="$SDK_DIR/include" \ + -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ + -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ + -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ + -DZSTD_LIBRARY=$SDK_DIR/lib/libzstd.a \ + -DZSTD_INCLUDE_DIR=$SDK_DIR/include \ + -DLIBEVENT_LIBRARY=$SDK_DIR/lib/libevent.a \ + -DLIBEVENT_INCLUDE_DIR=$SDK_DIR/include \ + -DRT_LIBRARY=$SDK_DIR/lib/librt.a \ + -DUSE_READLINE=OFF \ + -DCMAKE_EXE_LINKER_FLAGS="-static -Wl,--allow-multiple-definition" + + make -j$(nproc) + + - name: Package + run: | + mkdir release + zip -j release/wownero-lws-x86_64-w64-mingw32.zip build/src/wownero-lws-daemon.exe build/src/wownero-lws-admin.exe + + - name: Upload + uses: actions/upload-artifact@v3 + with: + name: wownero-lws-x86_64-w64-mingw32 + path: release/*.zip + + # ================================================================== + # JOB 4: MACOS + # ================================================================== + macos: runs-on: macos-latest env: NODE_TLS_REJECT_UNAUTHORIZED: '0' @@ -211,60 +360,53 @@ jobs: find . -name "CMakeLists.txt" -print0 | xargs -0 perl -pi -e 's/\brt\b//g' - - name: Patch Source Code + - name: Patch Source run: | perl -pi -e 's/struct\s+rest_server::handler_loop\s+final/struct rest_server::handler_loop/g' src/rest_server.cpp perl -pi -e 's/find_library\(ICU/# find_library(ICU/g' external/monero/CMakeLists.txt - - name: Install CMake Only + - name: Install CMake run: brew install cmake - - name: Download Static SDK + - name: Download SDK run: | - curl -L -k -o sdk.tar.gz \ - "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-${{ matrix.target }}.tar.gz" - - if [ $(stat -f%z sdk.tar.gz) -lt 1000000 ]; then - exit 1 - fi - mkdir -p wownero-sdk + curl -L -k -o sdk.tar.gz "https://git.such.software/Builds/wownero/releases/download/${{ env.CORE_TAG }}/wownero-core-${{ matrix.target }}.tar.gz" tar -xf sdk.tar.gz -C wownero-sdk - - name: Build LWS + - name: Build run: | mkdir build && cd build SDK_DIR="$(pwd)/../wownero-sdk" - cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_STATIC=ON \ - -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \ - -DCMAKE_PREFIX_PATH="$SDK_DIR" \ - -DBOOST_ROOT="$SDK_DIR" \ - -DOPENSSL_ROOT_DIR="$SDK_DIR" \ - -DOPENSSL_USE_STATIC_LIBS=TRUE \ - -DUNBOUND_INCLUDE_DIR="$SDK_DIR/include" \ - -DUNBOUND_LIBRARY="$SDK_DIR/lib/libunbound.a" \ - -DZMQ_INCLUDE_DIR="$SDK_DIR/include" \ - -DZMQ_LIBRARY="$SDK_DIR/lib/libzmq.a" \ - -DSodium_INCLUDE_DIR="$SDK_DIR/include" \ - -DSodium_LIBRARY_RELEASE="$SDK_DIR/lib/libsodium.a" \ - -DLIBUSB_INCLUDE_DIR="$SDK_DIR/include" \ - -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ - -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ - -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" + # Native macOS build: Point to SDK, disable readline. + cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_STATIC=ON \ + -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ + -DBOOST_ROOT="$SDK_DIR" \ + -DOPENSSL_ROOT_DIR="$SDK_DIR" \ + -DOPENSSL_USE_STATIC_LIBS=TRUE \ + -DUNBOUND_INCLUDE_DIR="$SDK_DIR/include" \ + -DUNBOUND_LIBRARY="$SDK_DIR/lib/libunbound.a" \ + -DZMQ_INCLUDE_DIR="$SDK_DIR/include" \ + -DZMQ_LIBRARY="$SDK_DIR/lib/libzmq.a" \ + -DSodium_INCLUDE_DIR="$SDK_DIR/include" \ + -DSodium_LIBRARY_RELEASE="$SDK_DIR/lib/libsodium.a" \ + -DLIBUSB_INCLUDE_DIR="$SDK_DIR/include" \ + -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ + -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ + -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ + -DUSE_READLINE=OFF make -j$(sysctl -n hw.ncpu) - - name: Package Release + - name: Package run: | mkdir release - zip -j release/wownero-lws-${{ matrix.platform }}.zip \ - build/src/wownero-lws-daemon \ - build/src/wownero-lws-admin + zip -j release/wownero-lws-${{ matrix.platform }}.zip build/src/wownero-lws-daemon build/src/wownero-lws-admin - - name: Upload Artifact + - name: Upload uses: actions/upload-artifact@v3 with: name: wownero-lws-${{ matrix.platform }} - path: release/wownero-lws-${{ matrix.platform }}.zip \ No newline at end of file + path: release/*.zip \ No newline at end of file