name: Github Autobuild on: [ push, pull_request ] env: CCACHE_COMPRESS: exists means true CCACHE_SLOPPINESS: include_file_ctime,include_file_mtime,time_macros jobs: test-release: name: Build and run tests in Ubuntu, Release mode runs-on: ubuntu-latest steps: - name: Install dependencies run: | sudo apt-get install -y \ ccache \ parallel \ libboost-thread-dev \ libboost-iostreams-dev \ libboost-date-time-dev \ libboost-system-dev \ libboost-filesystem-dev \ libboost-program-options-dev \ libboost-chrono-dev \ libboost-test-dev \ libboost-context-dev \ libboost-regex-dev \ libboost-coroutine-dev - uses: actions/checkout@v1 with: submodules: recursive - name: Configure run: | mkdir -p _build pushd _build export -n BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_CXX_OUTPUT_EXTENSION_REPLACE=ON \ -D CMAKE_C_COMPILER=gcc \ -D CMAKE_C_COMPILER_LAUNCHER=ccache \ -D CMAKE_CXX_COMPILER=g++ \ -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \ .. popd - name: Load Cache uses: actions/cache@v1 with: path: ccache key: ccache-release-${{ github.ref }}-${{ github.sha }} restore-keys: | ccache-release-${{ github.ref }}- ccache-release- ccache- - name: Build run: | export CCACHE_DIR="$GITHUB_WORKSPACE/ccache" mkdir -p "$CCACHE_DIR" make -j 2 -C _build - name: Test run: | parallel echo Running {}\; sh -c "_build/tests/{}" <<_EOT_ all_tests -l message bloom_test -- README.md ecc_test README.md hmac_test task_cancel_test _EOT_ test-debug: name: Build and run tests in Ubuntu, Debug mode runs-on: ubuntu-latest steps: - name: Install dependencies run: | sudo apt-get install -y \ ccache \ parallel \ libboost-thread-dev \ libboost-iostreams-dev \ libboost-date-time-dev \ libboost-system-dev \ libboost-filesystem-dev \ libboost-program-options-dev \ libboost-chrono-dev \ libboost-test-dev \ libboost-context-dev \ libboost-regex-dev \ libboost-coroutine-dev - uses: actions/checkout@v1 with: submodules: recursive - name: Configure run: | mkdir -p _build pushd _build export -n BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR cmake -D CMAKE_BUILD_TYPE=Debug \ -D CMAKE_CXX_OUTPUT_EXTENSION_REPLACE=ON \ -D CMAKE_C_COMPILER=gcc \ -D CMAKE_C_COMPILER_LAUNCHER=ccache \ -D CMAKE_CXX_COMPILER=g++ \ -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \ .. popd - name: Load Cache uses: actions/cache@v1 with: path: ccache key: ccache-debug-${{ github.ref }}-${{ github.sha }} restore-keys: | ccache-debug-${{ github.ref }}- ccache-debug- ccache- - name: Build run: | export CCACHE_DIR="$GITHUB_WORKSPACE/ccache" mkdir -p "$CCACHE_DIR" make -j 2 -C _build - name: Test run: | parallel echo Running {}\; sh -c "_build/tests/{}" <<_EOT_ all_tests -l message bloom_test -- README.md ecc_test README.md hmac_test task_cancel_test _EOT_ test-macos: name: Build and run tests in macOS runs-on: macos-latest steps: - name: Install dependencies run: | brew install autoconf automake libtool brew install ccache brew search boost brew install boost@1.60 - uses: actions/checkout@v2 with: submodules: recursive - name: Configure run: | mkdir -p _build pushd _build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_C_COMPILER_LAUNCHER=ccache \ -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \ -D BOOST_ROOT=/usr/local/opt/boost@1.60 \ -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl \ .. popd - name: Load Cache uses: actions/cache@v1 with: path: ccache key: ccache-osx-${{ github.ref }}-${{ github.sha }} restore-keys: | ccache-osx-${{ github.ref }}- ccache-osx- - name: Build run: | export CCACHE_DIR="$GITHUB_WORKSPACE/ccache" mkdir -p "$CCACHE_DIR" make -j 2 -C _build df -h - name: Unit-Tests run: | pushd _build/tests ./all_tests -l message ./bloom_test -- README.md ./ecc_test README.md ./hmac_test ./task_cancel_test