name: C/C++ CI on: push: branches: [ master ] pull_request: branches: [ master ] env: LC_ALL: C COMMON_CONFIGURE_FLAGS: >- --disable-silent-rules --enable-vusb --with-camlibs=everything SLEEP=no jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: 'Determine number of cores to build on' run: echo NPROC=$(nproc) >> $GITHUB_ENV # Setting MAKE interferes with Makefile{,.in,.am} using $(MAKE) internally - name: 'Prepare concurrent make' run: if test "x$NPROC" = x; then echo ci_MAKE="make" >> $GITHUB_ENV; echo "NPROC must be set"; exit 1; else echo ci_MAKE="make -j${NPROC} -l${NPROC}" >> $GITHUB_ENV; fi - name: 'apt-get update' run: sudo apt-get update - name: 'apt-get 3rd party repo libgd-dev dependency workaround' run: sudo apt-get remove nginx libgd3 - name: 'apt-get install' run: sudo apt-get install -y autopoint gettext libusb-1.0-0-dev libcurl4-openssl-dev libgd-dev - name: 'autoreconf' run: autoreconf -i -f - name: 'configure' run: ./configure ${COMMON_CONFIGURE_FLAGS} --prefix=$PWD/__prefix - name: 'make' run: set -x; ${ci_MAKE} - name: 'make check' run: set -x; ${ci_MAKE} check - name: 'make distcheck' run: set -x; ${ci_MAKE} DISTCHECK_CONFIGURE_FLAGS="${COMMON_CONFIGURE_FLAGS}" distcheck - name: 'make install' run: set -x; ${ci_MAKE} install - name: 'make installcheck' run: set -x; ${ci_MAKE} installcheck - name: 'build and run example libgphoto2 frontend (ambs-lgp2-frontend)' run: | set -x exec 2>&1 abs_top_builddir="$PWD" export PKG_CONFIG_PATH="${abs_top_builddir}/__prefix/lib/pkgconfig" export LD_LIBRARY_PATH="${abs_top_builddir}/__prefix/lib" cd examples/ambs-lgp2-frontend autoreconf -vis ./configure --prefix="$PWD/__pref" make ldd ambs-lgp2-frontend ./ambs-lgp2-frontend make install ldd __pref/bin/ambs-lgp2-frontend __pref/bin/ambs-lgp2-frontend