From: Viktor Szakats Date: Sun, 23 Mar 2025 21:42:29 +0000 (+0100) Subject: GHA/windows: boost dl-mingw and cygwin install performance X-Git-Tag: curl-8_13_0~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=468bfc26183cc4e65b2494acf82d256571cb8178;p=thirdparty%2Fcurl.git GHA/windows: boost dl-mingw and cygwin install performance Install on drive `D:` which has much better write performance than `C:`, on GitHub Windows runner machines. - It's bringing down `dl-mingw` installation steps to 5-15s per job, from 15s-130s before this patch. - Saving 30-90s per job in the Cygwin install step. The before values were fluctuating, but it seems reasonable to expect saving at least a couple of minutes for each workflow run. Closes #16813 --- diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 763501091a..b6b5df233a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -42,7 +42,7 @@ jobs: timeout-minutes: 25 defaults: run: - shell: C:\cygwin\bin\bash.exe '{0}' + shell: D:\cygwin\bin\bash.exe '{0}' env: MAKEFLAGS: -j 5 SHELLOPTS: 'igncr' @@ -60,6 +60,7 @@ jobs: with: platform: ${{ matrix.platform }} site: https://mirrors.kernel.org/sourceware/cygwin/ + install-dir: D:\cygwin # https://cygwin.com/cgi-bin2/package-grep.cgi packages: >- autoconf libtool gcc-core gcc-g++ binutils @@ -424,14 +425,14 @@ jobs: uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 id: cache-compiler with: - path: ~\my-cache + path: D:\my-cache key: ${{ runner.os }}-mingw-w64-${{ matrix.ver }}-${{ matrix.env }} - name: 'install compiler (gcc ${{ matrix.ver }}-${{ matrix.env }})' if: ${{ steps.cache-compiler.outputs.cache-hit != 'true' }} timeout-minutes: 5 run: | - cd "${USERPROFILE}" || exit 1 + cd /d || exit 1 mkdir my-cache cd my-cache || exit 1 curl --fail --silent --show-error --retry 3 --retry-connrefused --output pack.bin --location --proto-redir =https '${{ matrix.url }}' @@ -449,7 +450,7 @@ jobs: - name: 'configure' timeout-minutes: 5 run: | - PATH="$(cygpath "${USERPROFILE}")/my-cache/${{ matrix.dir }}/bin:$PATH" + PATH="/d/my-cache/${{ matrix.dir }}/bin:$PATH" for _chkprefill in '' ${{ matrix.chkprefill }}; do options='' [ "${_chkprefill}" = '_chkprefill' ] && options+=' -D_CURL_PREFILL=OFF' @@ -478,7 +479,7 @@ jobs: - name: 'build' timeout-minutes: 5 run: | - PATH="$(cygpath "${USERPROFILE}")/my-cache/${{ matrix.dir }}/bin:$PATH" + PATH="/d/my-cache/${{ matrix.dir }}/bin:$PATH" cmake --build bld - name: 'curl version' @@ -492,7 +493,7 @@ jobs: if: ${{ matrix.tflags != 'skipall' }} timeout-minutes: 10 run: | - PATH="$(cygpath "${USERPROFILE}")/my-cache/${{ matrix.dir }}/bin:$PATH" + PATH="/d/my-cache/${{ matrix.dir }}/bin:$PATH" cmake --build bld --target testdeps - name: 'install test prereqs'