| # Copyright 2019 Ilya Shipitsin <chipitsine@gmail.com> |
| # Copyright 2020 Tim Duesterhus <tim@bastelstu.be> |
| # |
| # This program is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU General Public License |
| # as published by the Free Software Foundation; either version |
| # 2 of the License, or (at your option) any later version. |
| |
| name: Windows |
| |
| on: |
| push: |
| |
| jobs: |
| msys2: |
| name: ${{ matrix.name }} |
| runs-on: ${{ matrix.os }} |
| defaults: |
| run: |
| shell: msys2 {0} |
| strategy: |
| matrix: |
| include: |
| - name: "Windows, gcc, all features" |
| TARGET: cygwin |
| CC: gcc |
| os: windows-latest |
| FLAGS: |
| - USE_OPENSSL=1 |
| - USE_PCRE=1 |
| - USE_PCRE_JIT=1 |
| - USE_THREAD=1 |
| - USE_ZLIB=1 |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: msys2/setup-msys2@v2 |
| with: |
| install: >- |
| coreutils |
| curl |
| diffutils |
| gawk |
| gcc |
| make |
| tar |
| openssl-devel |
| pcre-devel |
| zlib-devel |
| - name: Compile HAProxy with ${{ matrix.CC }} |
| run: | |
| echo "::group::Show platform specific defines" |
| echo | ${{ matrix.CC }} -dM -xc -E - |
| echo "::endgroup::" |
| make -j$(nproc) all \ |
| ERR=1 \ |
| TARGET=${{ matrix.TARGET }} \ |
| CC=${{ matrix.CC }} \ |
| DEBUG="-DDEBUG_STRICT -DDEBUG_MEMORY_POOLS -DDEBUG_POOL_INTEGRITY" \ |
| DEBUG_CFLAGS="-g -Wno-deprecated-declarations" \ |
| ${{ join(matrix.FLAGS, ' ') }} |
| - name: Show HAProxy version |
| id: show-version |
| run: | |
| ./haproxy -vv |
| echo "version=$(./haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT |