name: build

on: [push]

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@v2
      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@v2
      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@v2
      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"
          else
            export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin"
            export LIBS="-L/Library/Frameworks/Python.framework/Versions/2.7/lib"
            export PYTHON_EXTRA_LDFLAGS="-u _PyMac_Error /System/Library/Frameworks/Python.framework/Versions/2.7/Python"
          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@v2
      with:
        name: libplist-latest_macOS
        path: libplist.tar
  build-windows:
    runs-on: windows-latest
    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
    - uses: actions/checkout@v2
      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@v2
      with:
        name: libplist-latest_${{ matrix.arch }}-${{ env.dest }}
        path: libplist.tar
