name: build

on:
  push:
  schedule:
    - cron: '0 0 1 * *'

jobs:
  build-linux-ubuntu:
    runs-on: ubuntu-latest
    steps:
    - name: install dependencies
      run: |
          sudo apt-get update
          sudo apt-get install cython3
    - name: prepare environment
      run: |
          echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - name: autogen
      run: |
          export PYTHON=python3
          export LDFLAGS="-Wl,-rpath=/usr/local/lib"
          ./autogen.sh --enable-debug
    - name: make
      run: make
    - name: make check
      run: make check
    - name: make install
      run: sudo make install
    - name: prepare artifact
      run: |
          mkdir -p dest
          DESTDIR=`pwd`/dest make install
          tar -C dest -cf libplist.tar usr
    - name: publish artifact
      uses: actions/upload-artifact@v3
      with:
        name: libplist-latest_${{env.target_triplet}}
        path: libplist.tar
  build-macOS:
    runs-on: macOS-latest
    steps:
    - name: install dependencies
      run: |
          if test -x "`which port`"; then
            sudo port install libtool autoconf automake
          else
            brew install libtool autoconf automake
          fi
          pip3 install cython
      shell: bash
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - name: autogen
      run: |
          SDKDIR=`xcrun --sdk macosx --show-sdk-path`
          TESTARCHS="arm64 x86_64"
          USEARCHS=
          for ARCH in $TESTARCHS; do
            if echo "int main(int argc, char **argv) { return 0; }" |clang -arch $ARCH -o /dev/null -isysroot $SDKDIR -x c - 2>/dev/null; then
              USEARCHS="$USEARCHS -arch $ARCH"
            fi
          done
          export CFLAGS="$USEARCHS -isysroot $SDKDIR"
          echo "Using CFLAGS: $CFLAGS"
          PYTHON3_BIN=`xcrun -f python3`
          if test -x $PYTHON3_BIN; then
            export PYTHON=$PYTHON3_BIN
            PYTHON_VER=`$PYTHON3_BIN -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'))"`
            PYTHON_EXEC_PREFIX=`$PYTHON3_BIN -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('exec_prefix'))"`
            PYTHON_LIBS_PATH=$PYTHON_EXEC_PREFIX/lib
            PYTHON_FRAMEWORK_PATH=$PYTHON_EXEC_PREFIX/Python3
            export PYTHON_LIBS="-L$PYTHON_LIBS_PATH -lpython$PYTHON_VER"
            export PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000  -framework CoreFoundation $PYTHON_FRAMEWORK_PATH"
          fi
          ./autogen.sh --enable-debug
    - name: make
      run: make
    - name: make check
      run: make check
    - name: make install
      run: sudo make install
    - name: prepare artifact
      run: |
          mkdir -p dest
          DESTDIR=`pwd`/dest make install
          tar -C dest -cf libplist.tar usr
    - name: publish artifact
      uses: actions/upload-artifact@v3
      with:
        name: libplist-latest_macOS
        path: libplist.tar
  build-windows:
    runs-on: windows-2019
    defaults:
      run:
        shell: msys2 {0}
    strategy:
      fail-fast: false
      matrix:
        include: [
          { msystem: MINGW64, arch: x86_64 },
          { msystem: MINGW32, arch: i686   }
        ]
    steps:
    - uses: msys2/setup-msys2@v2
      with:
        msystem: ${{ matrix.msystem }}
        release: false
        update: false
        install: >-
          base-devel
          git
          mingw-w64-${{ matrix.arch }}-gcc
          make
          libtool
          autoconf
          automake-wrapper
          cython
    - name: prepare environment
      run: |
          dest=`echo ${{ matrix.msystem }} |tr [:upper:] [:lower:]`
          echo "dest=$dest" >> $GITHUB_ENV
          echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV
          git config --global core.autocrlf false
    - uses: actions/checkout@v3
      with:
        fetch-depth: 0
    - name: autogen
      run: ./autogen.sh CC=gcc CXX=g++ --enable-debug
    - name: make
      run: make
    - name: make check
      run: make check
    - name: print test logs
      run: |
          for I in test/*.trs; do
            RES=`grep ":test-result" $I |cut -d ":" -f 3`
            if test $RES != PASS; then
              TESTNAME=`basename $I .trs`
              echo $TESTNAME:
              cat test/$TESTNAME.log
              echo
            fi
          done
      shell: bash
    - name: make install
      run: make install
    - name: prepare artifact
      run: |
          mkdir -p dest
          DESTDIR=`pwd`/dest make install
          tar -C dest -cf libplist.tar ${{ env.dest }}
    - name: publish artifact
      uses: actions/upload-artifact@v3
      with:
        name: libplist-latest_${{ matrix.arch }}-${{ env.dest }}
        path: libplist.tar
