name: build

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

jobs:
  build-linux-ubuntu:
    runs-on: ubuntu-latest
    steps:
    - name: install dependencies
      run: |
          sudo apt-get update
          pip install cython
    - name: prepare environment
      run: |
          echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV
    - uses: actions/checkout@v6
      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@v6
      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 --break-system-packages cython
      shell: bash
    - uses: actions/checkout@v6
      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_CPPFLAGS="-I$PYTHON_EXEC_PREFIX/Headers"
            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@v6
      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
          mingw-w64-${{ matrix.arch }}-pkg-config
          mingw-w64-${{ matrix.arch }}-python
          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@v6
      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@v6
      with:
        name: libplist-latest_${{ matrix.arch }}-${{ env.dest }}
        path: libplist.tar
