From e58590a21597b66431932ed24d7d89ec52ebdbd0 Mon Sep 17 00:00:00 2001 From: such-gitea Date: Wed, 4 Feb 2026 11:28:10 -0500 Subject: [PATCH] Update .gitea/workflows/build.yaml --- .gitea/workflows/build.yaml | 106 ++++++++++-------------------------- 1 file changed, 29 insertions(+), 77 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index d5d2e9e..bba3a42 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build Wownero LWS (Systematic Fix) +name: Build Wownero LWS (Final) on: push: branches: [ master, main ] @@ -7,7 +7,7 @@ on: env: NODE_TLS_REJECT_UNAUTHORIZED: '0' - CORE_TAG: 'v0.11.4.1' + CORE_TAG: 'v0.11.4.2' jobs: # ================================================================== @@ -21,11 +21,8 @@ jobs: steps: - name: Fix DNS run: echo "192.168.88.230 git.such.software" >> /etc/hosts - - # Install system zstd just in case, but we will build static to be safe - name: Install Static System Libs - run: apt-get update && apt-get install -y libc6-dev libzstd-dev - + run: apt-get update && apt-get install -y libc6-dev - name: Checkout env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -44,18 +41,6 @@ jobs: perl -pi -e 's/-Werror//g' CMakeLists.txt perl -pi -e 's/-Werror//g' external/monero/CMakeLists.txt - # We MUST build ZSTD because logs proved it is missing from the Core artifact. - - name: Build Static ZSTD - run: | - mkdir -p deps/lib deps/include - cd deps - curl -L -o zstd.tar.gz https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz - tar -xf zstd.tar.gz && cd zstd-1.5.5 - make lib-release - cp lib/libzstd.a ../lib/ - cp lib/zstd.h ../include/ - cd .. - - 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" @@ -63,17 +48,12 @@ jobs: tar -xf sdk.tar.gz -C /opt/wownero-sdk - name: Normalize SDK + # Just ensures standard names exist if the upstream build used suffixes run: | cd /opt/wownero-sdk/lib - # Safe Copy: Only if the source exists - [ -f libhidapi-libusb.a ] && cp -v libhidapi-libusb.a libhidapi.a || true - - # Fix ZLib: Look for libz.a, if missing try to find it, but avoid libzmq - if [ ! -f libz.a ]; then - find . -name "libz.a" -o -name "libz_static.a" | head -n 1 | xargs -I {} cp -v {} libz.a || true - fi - - echo "SDK Lib content:" + find . -name "libzstd*.a" -exec cp -n {} libzstd.a \; || true + find . -name "libz*.a" ! -name "*zmq*" -exec cp -n {} libz.a \; || true + find . -name "libhidapi*.a" -exec cp -n {} libhidapi.a \; || true ls -lh *.a - name: Install Modern CMake @@ -86,11 +66,10 @@ jobs: run: | mkdir build && cd build SDK_DIR="/opt/wownero-sdk" - DEPS_DIR="$(pwd)/../deps" cmake .. -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC=ON \ - -DCMAKE_PREFIX_PATH="$SDK_DIR;$DEPS_DIR" \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ -DBOOST_ROOT="$SDK_DIR" \ -DBoost_NO_SYSTEM_PATHS=ON \ -DBoost_NO_BOOST_CMAKE=ON \ @@ -107,8 +86,8 @@ jobs: -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ - -DZSTD_LIBRARY="$DEPS_DIR/lib/libzstd.a" \ - -DZSTD_INCLUDE_DIR="$DEPS_DIR/include" \ + -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 \ @@ -157,6 +136,7 @@ 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 @@ -167,17 +147,6 @@ jobs: perl -pi -e 's/-Werror//g' CMakeLists.txt perl -pi -e 's/-Werror//g' external/monero/CMakeLists.txt - - name: Build Static ZSTD Cross - run: | - mkdir -p deps/lib deps/include - cd deps - curl -L -o zstd.tar.gz https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz - tar -xf zstd.tar.gz && cd zstd-1.5.5 - CC=${{ matrix.target }}-gcc CXX=${{ matrix.target }}-g++ AR=${{ matrix.target }}-ar make lib-release - cp lib/libzstd.a ../lib/ - cp lib/zstd.h ../include/ - cd .. - - 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" @@ -187,10 +156,9 @@ jobs: - name: Normalize SDK run: | cd /opt/wownero-sdk/lib - [ -f libhidapi-libusb.a ] && cp -v libhidapi-libusb.a libhidapi.a || true - if [ ! -f libz.a ]; then - find . -name "libz.a" -o -name "libz_static.a" | head -n 1 | xargs -I {} cp -v {} libz.a || true - fi + find . -name "libhidapi*.a" -exec cp -n {} libhidapi.a \; || true + find . -name "libzstd*.a" -exec cp -n {} libzstd.a \; || true + find . -name "libz*.a" ! -name "*zmq*" -exec cp -n {} libz.a \; || true - name: Install Modern CMake run: | @@ -220,16 +188,14 @@ jobs: run: | mkdir build && cd build SDK_DIR="/opt/wownero-sdk" - DEPS_DIR="$(pwd)/../deps" cmake .. -DCMAKE_TOOLCHAIN_FILE=../cross.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC=ON \ - -DCMAKE_PREFIX_PATH="$SDK_DIR;$DEPS_DIR" \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ -DBOOST_ROOT="$SDK_DIR" \ -DBoost_NO_SYSTEM_PATHS=ON \ -DBoost_NO_BOOST_CMAKE=ON \ - -DBoost_USE_STATIC_RUNTIME=ON \ -DOPENSSL_ROOT_DIR="$SDK_DIR" \ -DOPENSSL_USE_STATIC_LIBS=TRUE \ -DUNBOUND_INCLUDE_DIR="$SDK_DIR/include" \ @@ -242,8 +208,8 @@ jobs: -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ - -DZSTD_LIBRARY="$DEPS_DIR/lib/libzstd.a" \ - -DZSTD_INCLUDE_DIR="$DEPS_DIR/include" \ + -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 \ @@ -298,23 +264,11 @@ jobs: sed -i '1i #include \n#ifdef _WIN32\nchar* strptime(const char* s, const char* f, struct tm* tm) { return 0; }\n#endif' $HEADER # FIX ZMQ ASYNC FOR WINDOWS - # Inject Windows Header AND Replace Type - # Using separate seds for safety - sed -i '1s/^/#include \n/' src/net/zmq_async.h + # 1. Inject Defines AND Header at top + sed -i '1s/^/#define _WIN32_WINNT 0x0601\n#define WIN32_LEAN_AND_MEAN\n#ifdef _WIN32\n#include \n#endif\n/' src/net/zmq_async.h + # 2. Replace type sed -i 's/boost::asio::posix::stream_descriptor/boost::asio::windows::stream_handle/g' src/net/zmq_async.h - - name: Build Static ZSTD Windows - run: | - mkdir -p deps/lib deps/include - cd deps - curl -L -o zstd.tar.gz https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz - tar -xf zstd.tar.gz && cd zstd-1.5.5 - # Cross compile ZSTD - CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ AR=x86_64-w64-mingw32-ar make lib-release - cp lib/libzstd.a ../lib/ - cp lib/zstd.h ../include/ - cd .. - - 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" @@ -324,11 +278,10 @@ jobs: - name: Normalize SDK run: | cd /opt/wownero-sdk/lib - if [ ! -f libz.a ]; then - find . -name "libz.a" -o -name "libz_static.a" | head -n 1 | xargs -I {} cp -v {} libz.a || true - fi - [ -f libhidapi-libusb.a ] && cp -v libhidapi-libusb.a libhidapi.a || true - [ -f libiconv.a ] && cp -v libiconv.a libiconv.a || true + find . -name "libzstd*.a" -exec cp -n {} libzstd.a \; || true + find . -name "libz*.a" ! -name "*zmq*" -exec cp -n {} libz.a \; || true + find . -name "libhidapi*.a" -exec cp -n {} libhidapi.a \; || true + find . -name "libiconv*.a" -exec cp -n {} libiconv.a \; || true echo "" > dummy.c x86_64-w64-mingw32-gcc -c dummy.c -o dummy.o @@ -349,7 +302,7 @@ jobs: set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) - # CRITICAL: Define windows versions to enable Boost Windows ASIO + # Explicit defines for Boost set(CMAKE_C_FLAGS "-D_WIN32 -DWIN32 -D_WIN32_WINNT=0x0601" CACHE STRING "" FORCE) set(CMAKE_CXX_FLAGS "-D_WIN32 -DWIN32 -D_WIN32_WINNT=0x0601" CACHE STRING "" FORCE) @@ -366,12 +319,11 @@ jobs: run: | mkdir build && cd build SDK_DIR="/opt/wownero-sdk" - DEPS_DIR="$(pwd)/../deps" cmake .. -DCMAKE_TOOLCHAIN_FILE=../cross.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC=ON \ - -DCMAKE_PREFIX_PATH="$SDK_DIR;$DEPS_DIR" \ + -DCMAKE_PREFIX_PATH="$SDK_DIR" \ -DBOOST_ROOT="$SDK_DIR" \ -DBoost_NO_SYSTEM_PATHS=ON \ -DBoost_NO_BOOST_CMAKE=ON \ @@ -388,10 +340,10 @@ jobs: -DLIBUSB_LIBRARY="$SDK_DIR/lib/libusb-1.0.a" \ -DHIDAPI_INCLUDE_DIR="$SDK_DIR/include" \ -DHIDAPI_LIBRARY="$SDK_DIR/lib/libhidapi.a" \ - -DZSTD_LIBRARY="$DEPS_DIR/lib/libzstd.a" \ - -DZSTD_INCLUDE_DIR="$DEPS_DIR/include" \ + -DZSTD_LIBRARY="$SDK_DIR/lib/libzstd.a" \ + -DZSTD_INCLUDE_DIR="$SDK_DIR/include" \ -DICONV_LIBRARY="$SDK_DIR/lib/libiconv.a" \ - -DICONV_INCLUDE_DIR=$SDK_DIR/include \ + -DICONV_INCLUDE_DIR="$SDK_DIR/include" \ -DICONV_LIBRARIES="$SDK_DIR/lib/libiconv.a" \ -DRT_LIBRARY=$SDK_DIR/lib/librt.a \ -DUSE_READLINE=OFF \