diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 000000000..3961f9fdf --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,122 @@ +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 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 + 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 + bloom_test -- README.md + ecc_test README.md + hmac_test + task_cancel_test + _EOT_ + test-debug: + name: Build and run tests in 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 + 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 + bloom_test -- README.md + ecc_test README.md + hmac_test + task_cancel_test + _EOT_ diff --git a/README.md b/README.md index e528ef828..87d504a2f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ fc == [![](https://travis-ci.org/bitshares/bitshares-fc.svg?branch=master)](https://travis-ci.org/bitshares/bitshares-fc) +[![](https://github.com/bitshares/bitshares-fc/workflows/Github%20Autobuild/badge.svg?branch=master)](https://github.com/bitshares/bitshares-fc/actions?query=branch%3Amaster) **NOTE:** This fork reverts upstream commit a421e280488385cab26a42153f7ce3c8d5b6281f to avoid changing the BitShares API. diff --git a/tests/crypto/dh_test.cpp b/tests/crypto/dh_test.cpp index bc38cc430..a6d9d25ca 100644 --- a/tests/crypto/dh_test.cpp +++ b/tests/crypto/dh_test.cpp @@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE(dh_test) alice.p.clear(); alice.p.push_back(100); alice.p.push_back(2); BOOST_CHECK( !alice.validate() ); alice.p = bob.p; - alice.g = 9; + alice.g = 1; BOOST_CHECK( !alice.validate() ); } diff --git a/tests/stacktrace_test.cpp b/tests/stacktrace_test.cpp index 452a63e08..feb57905f 100644 --- a/tests/stacktrace_test.cpp +++ b/tests/stacktrace_test.cpp @@ -64,17 +64,18 @@ class _svdt_visitor BOOST_AUTO_TEST_CASE(static_variant_depth_test) { int64_t i = 1; - fc::static_variant test(i); + fc::static_variant,std::vector,std::vector, + uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t> test(i); std::string stacktrace = test.visit( _svdt_visitor() ); - //std::cerr << stacktrace << "\n"; + std::cerr << stacktrace << "\n"; std::vector lines; boost::split( lines, stacktrace, boost::is_any_of("\n") ); int count = 0; for( const auto& line : lines ) if( line.find("_svdt_visitor") != std::string::npos ) count++; - BOOST_CHECK_LT( 2, count ); // test.visit(), static_variant::visit, function object, visitor - BOOST_CHECK_GT( 8, count ); // some is implementation-dependent + BOOST_CHECK_LT( 1, count ); // The actual count depends on compiler and optimization settings. + BOOST_CHECK_GT( 10, count ); // It *should* be less than the number of static variant components. } #endif