diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 2943b5d..3285d60 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -114,37 +114,45 @@ jobs: git config --global url."https://github.com/".insteadOf "git@github.com:" git submodule update --init --recursive - # --- 1. CLEANUP (Do NOT delete packages/boost) --- - - name: Clean Environment + # --- 1. PROTOCOL A: CACHE PURGE (Fixes Checksum Error) --- + - name: Purge Corrupted Dependency Cache run: | - echo "Cleaning build artifacts..." + echo "Forensic cleanup initiated..." + # Target the specific files identified in the failure log + rm -rf external/monero/contrib/depends/sources/boost_1_80_0.tar.gz + rm -rf external/monero/contrib/depends/sources/download-stamps/*boost* + + # Clean build artifacts to prevent 'patch' confusion rm -rf external/monero/contrib/depends/work/build/x86_64-w64-mingw32/boost rm -rf external/monero/contrib/depends/built/x86_64-w64-mingw32/boost - # We delete downloads to force re-download of the correct version rm -rf external/monero/contrib/depends/work/download/boost* + rm -rf external/monero/contrib/depends/packages/boost - # --- 2. UPGRADE BOOST & DISABLE PATCHES --- + # --- 2. CONFIGURE BOOST 1.80 (Fixes Logic/Patch Error) --- - name: Configure Boost 1.80.0 run: | - echo "Modifying boost.mk..." + echo "Injecting Boost 1.80.0 configuration..." BOOST_MK="external/monero/contrib/depends/packages/boost.mk" - # 1. Update Version + # 1. Update Version to 1.80.0 sed -i 's/1_69_0/1_80_0/g' $BOOST_MK sed -i 's/1.69.0/1.80.0/g' $BOOST_MK - # 2. Update Hash (Official SHA256 for boost_1_80_0.tar.gz) - sed -i 's/sha256_hash=.*$/sha256_hash=1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0/g' $BOOST_MK + # 2. Set Correct SHA256 for .tar.gz (Protocol B verification) + sed -i 's/sha256_hash=.*$/sha256_hash=4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847/g' $BOOST_MK - # 3. Add Context/Coroutine libraries + # 3. Add Missing Libraries sed -i 's/chrono,/chrono,context,coroutine,/g' $BOOST_MK - # 4. NUKE THE PATCH LIST (Delete the line entirely) - # This removes the instruction to look for patches, so it won't matter if they exist or not. - sed -i '/_patches=/d' $BOOST_MK + # 4. NEUTRALIZE PATCHES (The "Grep-v" Strategy) + # We remove ANY line containing the word "patches". + # This guarantees the Makefile variable is undefined/empty. + # This prevents "No such file" and "Hunk failed" errors. + grep -v "patches" $BOOST_MK > boost_clean.mk + mv boost_clean.mk $BOOST_MK - # Debug: Verify the file content - echo "--- Verifying boost.mk content ---" + # Debug: Verify the file is clean + echo "--- Content of boost.mk (Patches removed) ---" cat $BOOST_MK # --- 3. BUILD DEPENDENCIES --- @@ -169,8 +177,7 @@ jobs: - name: Package Windows run: | cd build/src - # Create zip with explicitly named files found in src - zip ../../wownero-lws-windows.zip wownero-lws-daemon.exe wownero-lws-admin.exe + zip ../../wownero-lws-windows.zip wownero-lws-daemon.exe wownero-lws-admin.exe wownero-lws-client.exe - name: Upload Windows Artifact uses: actions/upload-artifact@v3