name: build on: [push] jobs: build-linux-ubuntu: runs-on: ubuntu-latest steps: - name: install dependencies run: | sudo apt-get install cython3 - uses: actions/checkout@v2 - name: autogen run: | export PYTHON=python3 ./autogen.sh - name: make run: make - name: make check run: make check 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 - 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 - name: make run: make - name: make check run: make check 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 - uses: actions/checkout@v2 - name: autogen run: ./autogen.sh CC=gcc CXX=g++ - 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