name: macOS CI
on:
  - pull_request
  - push
jobs:
  build:
    runs-on: macos-latest
    env:
      CXXFLAGS: -std=${{ matrix.standard }} -I/usr/local/opt/openssl@1.1/include -Wno-error=deprecated-declarations
      LDFLAGS: -L/usr/local/opt/openssl@1.1/lib
      PKG_CONFIG_PATH: /usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig
      TEST_BUILD_MODULES: argon2 geo_maxmind ldap mysql pgsql regex_pcre regex_posix regex_re2 regex_stdlib regex_tre sqlite3 ssl_gnutls ssl_mbedtls ssl_openssl sslrehashsignal
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          brew update || true
          for PACKAGE in pkg-config argon2 gnutls libmaxminddb libpq mbedtls mysql-client openssl@1.1 pcre re2 sqlite tre;
          do
            brew install $PACKAGE || brew upgrade $PACKAGE
          done
          brew link --force --overwrite libpq
          brew link --force --overwrite mysql-client
      - name: Run test-build
        run: ./tools/test-build c++
    strategy:
      matrix:
        standard:
          - gnu++98
          - c++14
