# 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@v2
    - 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: |
        make -j$(nproc) all \
          ERR=1 \
          TARGET=${{ matrix.TARGET }} \
          CC=${{ matrix.CC }} \
          DEBUG="-DDEBUG_STRICT -DDEBUG_MEMORY_POOLS -DDEBUG_POOL_INTEGRITY" \
          ${{ join(matrix.FLAGS, ' ') }}
    - name: Show HAProxy version
      id: show-version
      run: |
        ./haproxy -vv
        echo "::set-output name=version::$(./haproxy -v |awk 'NR==1{print $3}')"
