# If Github does not properly accept this YAML file, try # https://rhysd.github.io/actionlint/ from # https://github.com/rhysd/actionlint. name: 'CI build' 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: ${{ matrix.os }} name: '${{ matrix.os }}' strategy: matrix: os: [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: 'Update software database' run: sudo apt-get update - name: 'Work around apt-get 3rd party repo libgd-dev dependency' run: sudo apt-get remove nginx libgd3 - name: 'Install build requirements' run: sudo apt-get install -y autopoint gettext libusb-1.0-0-dev libcurl4-openssl-dev libgd-dev - name: 'OS specific build flags' run: echo OS_SPECIFIC_CPPFLAGS="" >> $GITHUB_ENV - name: 'autoreconf' run: autoreconf -i -f - name: 'configure' run: ./configure ${COMMON_CONFIGURE_FLAGS} --prefix=$PWD/__prefix - name: 'make' run: set -x; ${ci_MAKE} CPPFLAGS="${OS_SPECIFIC_CPPFLAGS}" - name: 'make check' run: set -x; ${ci_MAKE} CPPFLAGS="${OS_SPECIFIC_CPPFLAGS}" check - name: 'make distcheck' run: set -x; ${ci_MAKE} CPPFLAGS="${OS_SPECIFIC_CPPFLAGS}" DISTCHECK_CONFIGURE_FLAGS="${COMMON_CONFIGURE_FLAGS}" distcheck - name: 'make install' run: set -x; ${ci_MAKE} CPPFLAGS="${OS_SPECIFIC_CPPFLAGS}" install - name: 'make installcheck' run: set -x; ${ci_MAKE} CPPFLAGS="${OS_SPECIFIC_CPPFLAGS}" 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