update docs #902
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build for windows | |
| on: | |
| workflow_call: | |
| push: | |
| branches: | |
| - main | |
| - feature/* | |
| - bugfix/* | |
| - chore/* | |
| - security/* | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| env: | |
| ZLIB_COMMIT: 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 | |
| ZSTD_COMMIT: 794ea1b0afca0f020f4e57b6732332231fb23c70 | |
| BROTLI_COMMIT: ed738e842d2fbdf2d6459e39267a633c4a9b2f5d | |
| BORINGSSL_COMMIT: 673e61fc215b178a90c0e67858bbf162c8158993 | |
| CURL_TAG: curl-8_15_0 # using tags is less secure, but easier to maintain | |
| NGHTTP2_COMMIT: 8f44147c385fb1ed93a6f39911eeb30279bfd2dd | |
| NGHTTP3_TAG: v1.15.0 | |
| NGTCP2_TAG: v1.20.0 | |
| jobs: | |
| build-windows: | |
| name: Build windows binaries | |
| strategy: | |
| matrix: | |
| include: | |
| - { sys: vcvars64, env: x86_64, runner: windows-latest } | |
| - { sys: vcvars32, env: i686, runner: windows-latest } | |
| - { sys: vcvarsarm64, env: arm64, runner: windows-11-arm } | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - name: configure Pagefile | |
| uses: al-cheb/configure-pagefile-action@v1.3 | |
| with: | |
| minimum-size: 16GB | |
| maximum-size: 16GB | |
| disk-root: "C:" | |
| - name: Install python 3.11 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Check out the repo | |
| uses: actions/checkout@v2 | |
| - name: Install NASM | |
| shell: cmd | |
| run: choco install nasm -y | |
| - name: Install Ninja for Win-ARM64 | |
| shell: pwsh | |
| if: matrix.os == 'windows-11-arm' | |
| run: | | |
| Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-winarm64.zip -OutFile ninja-winarm64.zip | |
| Expand-Archive ninja-winarm64.zip -DestinationPath ninja | |
| Copy-Item ninja\ninja.exe -Destination "C:\Windows\System32" | |
| - name: Fetch and patch deps | |
| shell: bash | |
| run: ./win/deps.sh | |
| # - name: Setup tmate session for debugging | |
| # uses: mxschmitt/action-tmate@v3 | |
| - name: Build | |
| shell: cmd | |
| run: ./win/build.bat ${{ matrix.sys }} | |
| env: | |
| DISABLE_ASM_ARM64: ${{ matrix.env == 'arm64' && 'true' || 'false' }} | |
| - name: Build tarball | |
| shell: bash | |
| run: | | |
| if [[ "${{ startsWith(github.ref, 'refs/tags/') }}" == "true" ]]; then | |
| tar cvzf libcurl-impersonate-${{ github.head_ref || github.ref_name }}.${{ matrix.env }}-win32.tar.gz -C ./packages . | |
| else | |
| tar cvzf libcurl-impersonate-${{ matrix.env }}-win32.tar.gz -C ./packages . | |
| fi | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts.windows.${{ matrix.env }} | |
| path: ./libcurl-impersonate*.tar.gz |