diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 9ac96e2fe..50f1602cd 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -22,7 +22,6 @@ jobs: env: MSYSTEM: MINGW64 - NIMBLE_DIR: ${{ github.workspace }}/nimbledeps steps: - name: Checkout code @@ -76,16 +75,10 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Nimble ${{ env.NIMBLE_VERSION }} - # Use the prebuilt Windows binary instead of `nimble install nimble@...`, - # which triggers a koch self-bootstrap that races Windows Defender on - # bin\nim.exe and fails with "Access is denied". run: | - mkdir -p "$HOME/.nimble/bin" - curl -fsSL -o /tmp/nimble.zip \ - "https://github.com/nim-lang/nimble/releases/download/v${{ env.NIMBLE_VERSION }}/nimble-windows_x64.zip" - unzip -o /tmp/nimble.zip -d "$HOME/.nimble/bin" + export PATH="$GITHUB_WORKSPACE/.nim_runtime/bin:$PATH" + cd /tmp && nimble install "nimble@${{ env.NIMBLE_VERSION }}" -y echo "$HOME/.nimble/bin" >> $GITHUB_PATH - "$HOME/.nimble/bin/nimble.exe" --version - name: Patch nimble.lock for Windows nim checksum # nimble.exe uses Windows Git (core.autocrlf=true by default), which converts LF→CRLF @@ -98,7 +91,7 @@ jobs: - name: Install nimble deps if: steps.cache-nimbledeps.outputs.cache-hit != 'true' run: | - export PATH="$HOME/.nimble/bin:$GITHUB_WORKSPACE/.nim_runtime/bin:$PATH" + export PATH="$GITHUB_WORKSPACE/.nim_runtime/bin:$HOME/.nimble/bin:$PATH" nimble setup --localdeps -y make rebuild-nat-libs-nimbledeps CC=gcc make rebuild-bearssl-nimbledeps CC=gcc @@ -108,14 +101,13 @@ jobs: run: mkdir -p tmp - name: Building wakunode2.exe - timeout-minutes: 45 run: | - export PATH="$HOME/.nimble/bin:$GITHUB_WORKSPACE/.nim_runtime/bin:$PATH" + export PATH="$GITHUB_WORKSPACE/.nim_runtime/bin:$HOME/.nimble/bin:$PATH" make wakunode2 V=3 -j${{ env.NPROC }} - name: Building libwaku.dll run: | - export PATH="$HOME/.nimble/bin:$GITHUB_WORKSPACE/.nim_runtime/bin:$PATH" + export PATH="$GITHUB_WORKSPACE/.nim_runtime/bin:$HOME/.nimble/bin:$PATH" make libwaku STATIC=0 V=1 -j - name: Check Executable @@ -131,4 +123,4 @@ jobs: else echo "Build failed: libwaku.dll not found" exit 1 - fi + fi \ No newline at end of file