Allow disabling autodetection of subunit library #168
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: linux | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build_linux_autotools_default_args: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y texlive texinfo texi2html doxygen | |
- name: create configure | |
run: autoreconf -i | |
- name: configure default | |
run: ./configure | |
- name: make | |
run: make | |
- name: make check | |
run: make check | |
- name: make install | |
run: sudo make install | |
build_linux_autotools_other_args: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y texlive texinfo texi2html doxygen | |
- name: create configure | |
run: autoreconf -i | |
- name: configure default | |
run: ./configure --disable-fork --disable-subunit --enable-snprintf-replacement --enable-timer-replacement | |
- name: make | |
run: make | |
- name: make check | |
run: make check | |
- name: make install | |
run: sudo make install | |
build_linux_autotools_gcc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: create configure | |
run: autoreconf -i | |
- name: configure gcc | |
run: ./configure CC=gcc --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests | |
- name: make | |
run: make | |
- name: make check | |
run: make check | |
build_linux_autotools_clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: create configure | |
run: autoreconf -i | |
- name: configure clang | |
run: ./configure CC=clang --enable-snprintf-replacement --enable-timer-replacement --disable-build-docs --disable-timeout-tests | |
- name: make | |
run: make | |
build_linux_autotools_crosscompile_mingw32: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y gcc-mingw-w64 | |
- name: create configure | |
run: autoreconf -i | |
- name: configure clang | |
run: ./configure --disable-build-docs --host=x86_64-w64-mingw32 --disable-static --disable-subunit | |
- name: make | |
run: make | |
build_linux_autotools_prereleasecheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y texlive texinfo texi2html doxygen | |
- name: create configure | |
run: autoreconf -i | |
- name: configure default | |
run: ./configure | |
- name: make prereleasecheck | |
run: make prereleasecheck | |
build_linux_autotools_docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y texlive texinfo texi2html doxygen | |
- name: create configure | |
run: autoreconf -i | |
- name: configure default | |
run: ./configure | |
- name: make docs | |
run: make doc/check_html | |
- name: make doxygen | |
run: make doc/doxygen | |
build_linux_autotools_example: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install doc packages | |
run: sudo apt-get install -y texlive texinfo texi2html doxygen | |
- name: create configure | |
run: autoreconf -i | |
- name: configure default | |
run: ./configure | |
- name: make | |
run: make | |
- name: make install | |
run: sudo make install | |
- name: create configure example | |
working-directory: doc/example | |
run: autoreconf -i | |
- name: configure example | |
working-directory: doc/example | |
run: ./configure | |
- name: build example | |
working-directory: doc/example | |
run: make | |
- name: test example | |
working-directory: doc/example | |
run: make check | |
build_linux_cmake: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: cmake cversion | |
run: cmake --version | |
- name: create configs | |
run: cmake . | |
- name: make | |
run: make | |
- name: unit tests | |
run: ctest -V | |
- name: make install | |
run: sudo make install | |
build_linux_scanbuild: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install scan-build packages | |
run: sudo apt-get install -y clang-tools | |
- name: create configure | |
run: autoreconf -i | |
- name: configure | |
run: scan-build ./configure --enable-timer-replacement --disable-build-docs | |
- name: make | |
run: scan-build -o clang make | |
- name: check for issues | |
run: | | |
if [ -n "$(find clang -type f)" ]; then | |
echo "scan-build found potential issues" | |
find clang -type f -print -exec cat \{} \; | |
exit 1 | |
fi | |
build_linux_cmake_project_usage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: run test | |
run: | | |
cmake --version || exit 1 | |
project_dir="project_cmake" | |
install_dir="${PWD}/install_cmake" | |
build_dir="${PWD}/build_cmake" | |
# For FetchContent we copy everything to a subdir. | |
# Otherwise the copying would be recursive and forever. | |
echo "setup project dir" | |
mkdir "$project_dir" || exit 1 | |
find . -maxdepth 1 -print | grep -v -E "^(\.|\./${project_dir})\$" | grep -v '^\./\.git.*$' | xargs cp -R -t "$project_dir" || exit 1 | |
# For find_package we need the project built and installed | |
echo "build and install" | |
mkdir "$build_dir" && cd "$build_dir" || exit 1 | |
cmake -D BUILD_TESTING=OFF -D CMAKE_INSTALL_PREFIX="${install_dir}" ../project_cmake || exit 1 | |
make && make install || exit 1 | |
cd .. || exit 1 | |
echo "test fetch content" | |
cp -R tests/cmake_project_usage_test . || exit 1 | |
proj_dir="$PWD/${project_dir}" | |
build_dir="build_fetch_content" | |
mkdir $build_dir && cd $build_dir || exit 1 | |
INCLUDE_CHECK_WITH='FetchContent' INCLUDE_CHECK_FROM="file://${proj_dir}" cmake -D CMAKE_BUILD_TYPE=Debug ../cmake_project_usage_test || exit 1 | |
make && src/tests.test || exit 1 | |
cd .. || exit 1 | |
echo "test find package" | |
build_dir='build_find_package_config' | |
mkdir $build_dir && cd $build_dir || exit 1 | |
INCLUDE_CHECK_WITH='find_package_config' Check_ROOT="${install_dir}" cmake -D CMAKE_BUILD_TYPE=Debug ../cmake_project_usage_test || exit 1 | |
make && src/tests.test || exit 1 | |
cd .. || exit 1 |