[DMNs] Implement lru cache #3297
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: CI Actions for PIVX | |
on: [push, pull_request] | |
jobs: | |
lint: | |
env: | |
SHELLCHECK_VERSION: v0.7.1 | |
LC_ALL: C | |
runs-on: ubuntu-20.04 | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Initialize Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install codespell==2.2.5 | |
pip install flake8==5.0.4 | |
pip install mypy==1.4.1 | |
pip install vulture==2.6 | |
pip install yq | |
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/ | |
- name: Set TRAVIS_BRANCH workaround env variable | |
if: github.event_name == 'pull_request' | |
run: echo "TRAVIS_BRANCH=${{ github.base_ref }}" >> $GITHUB_ENV | |
- name: Lint | |
run: | | |
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}" | |
echo $PATH | |
git checkout -qf -B master refs/remotes/origin/master | |
git checkout -qf $GITHUB_SHA | |
test/lint/git-subtree-check.sh src/secp256k1 | |
test/lint/git-subtree-check.sh src/univalue | |
test/lint/git-subtree-check.sh src/leveldb | |
test/lint/git-subtree-check.sh src/crc32c | |
test/lint/git-subtree-check.sh src/chiabls | |
test/lint/git-subtree-check.sh src/immer | |
test/lint/check-doc.py | |
test/lint/logprint-scanner.py | |
test/lint/lint-all.sh | |
if [ "${{ github.event_name }}" = "pull_request" ]; then | |
COMMIT_RANGE="${{ github.base_ref }}..HEAD" | |
test/lint/commit-script-check.sh $COMMIT_RANGE | |
fi | |
cmake: | |
name: CMake-${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
needs: lint | |
continue-on-error: true | |
env: | |
APT_BASE: ccache | |
CCACHE_DIR: ${{ github.workspace }}/.ccache | |
CCACHE_SIZE: 500M | |
CCACHE_COMPRESS: 1 | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Linux | |
os: ubuntu-20.04 | |
packages: python3-zmq qttools5-dev qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo | |
cc: gcc | |
cxx: g++ | |
- name: Linux-latest | |
os: ubuntu-latest | |
packages: python3-zmq qttools5-dev qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo | |
cc: gcc | |
cxx: g++ | |
- name: macOS | |
os: macos-11 | |
packages: llvm@13 python3 autoconf automake berkeley-db@4 libtool boost miniupnpc libnatpmp pkg-config qt5 zmq libevent qrencode gmp libsodium rust | |
cc: $(brew --prefix llvm@13)/bin/clang | |
cxx: $(brew --prefix llvm@13)/bin/clang++ | |
- name: macOS-latest | |
os: macos-latest | |
packages: llvm@13 python3 autoconf automake berkeley-db@4 libtool boost miniupnpc libnatpmp pkg-config qt5 zmq libevent qrencode gmp libsodium rust | |
cc: $(brew --prefix llvm@13)/bin/clang | |
cxx: $(brew --prefix llvm@13)/bin/clang++ | |
steps: | |
- name: Get Source | |
uses: actions/checkout@v3 | |
- name: Setup Environment | |
run: | | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
sudo apt-add-repository "ppa:ondrej/php" -y | |
sudo apt-get --yes update | |
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }} | |
fi | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
brew install "$APT_BASE" ${{ matrix.config.packages }} | |
fi | |
- name: ccache cache files | |
uses: actions/cache@v3 | |
with: | |
path: .ccache | |
key: ${{ runner.os }}-cmake-${{ matrix.config.name }}-ccache | |
restore-keys: ${{ runner.os }}-cmake-${{ matrix.config.name }}-ccache | |
- name: build | |
run: | | |
CC=${{ matrix.config.cc }} | |
CXX=${{ matrix.config.cxx }} | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
export CPPFLAGS="-I/usr/local/Cellar/gmp/6.2.1/include" | |
export LDFLAGS="-L/usr/local/Cellar/gmp/6.2.1/lib" | |
fi | |
export CC | |
export CXX | |
mkdir -p ${{ github.workspace }}/cmake-build-debug && cd ${{ github.workspace }}/cmake-build-debug | |
cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" ${{ github.workspace }} | |
cmake --build ${{ github.workspace }}/cmake-build-debug --target all -- -j 2 | |
build_native_wallet: | |
name: Native-${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
needs: lint | |
env: | |
APT_BASE: ccache | |
CCACHE_DIR: ${{ github.workspace }}/.ccache | |
CCACHE_SIZE: 500M | |
CCACHE_COMPRESS: 1 | |
PARAMS_DIR: ${{ github.workspace }}/.pivx-params | |
WINEDEBUG: fixme-all | |
BOOST_TEST_RANDOM: 1 # random seed based on the current time | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: x64-Linux | |
id: Linux-x86_64-nodepends | |
os: ubuntu-20.04 | |
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo | |
unit_tests: true | |
functional_tests: true | |
goal: install | |
BITCOIN_CONFIG: "--enable-zmq --enable-debug --with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER'" | |
- name: x64-Linux-latest | |
id: Linux-x86_64-nodepends-latest | |
os: ubuntu-latest | |
apt_get: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo | |
unit_tests: true | |
functional_tests: true | |
goal: install | |
BITCOIN_CONFIG: "--enable-zmq --enable-debug --with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER'" | |
- name: x64-macOS | |
id: macOS-nodepends | |
os: macos-11 | |
brew_install: autoconf automake ccache berkeley-db@4 libtool boost miniupnpc libnatpmp pkg-config python@3.8 qt5 zmq libevent qrencode gmp libsodium rust librsvg | |
unit_tests: true | |
functional_tests: true | |
goal: deploy | |
cc: clang | |
cxx: clang++ | |
BITCOIN_CONFIG: "--enable-zmq --enable-gui --enable-reduce-exports --enable-werror --enable-debug" | |
- name: x64-macOS-latest | |
id: macOS-nodepends-latest | |
os: macos-latest | |
brew_install: autoconf automake ccache berkeley-db@4 libtool boost miniupnpc libnatpmp pkg-config python@3.8 qt5 zmq libevent qrencode gmp libsodium rust librsvg | |
unit_tests: true | |
functional_tests: true | |
goal: deploy | |
cc: clang | |
cxx: clang++ | |
BITCOIN_CONFIG: "--enable-zmq --enable-gui --enable-reduce-exports --enable-werror --enable-debug" | |
steps: | |
- name: Get Source | |
uses: actions/checkout@v3 | |
- name: Setup Environment | |
run: | | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
sudo apt-add-repository "ppa:ondrej/php" -y | |
sudo apt-get --yes update | |
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.apt_get }} | |
fi | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
brew install ${{ matrix.config.brew_install }} | |
pip3.8 install ds_store mac_alias | |
fi | |
- name: ccache cache files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
.ccache | |
.pivx-params | |
key: ${{ runner.os }}-${{ matrix.config.id }}-native-ccache | |
restore-keys: ${{ runner.os }}-${{ matrix.config.id }}-native-ccache | |
- name: Build Syslib Wallet | |
run: | | |
export LC_ALL=C.UTF-8 | |
echo $CCACHE_DIR | |
echo $PARAMS_DIR | |
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") | |
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers. | |
PATH=$PATH:/usr/lib/llvm-6.0/bin/ | |
export PATH | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
CC=${{ matrix.config.cc }} | |
CXX=${{ matrix.config.cxx }} | |
export CC | |
export CXX | |
fi | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
OUTDIR_PATH="$GITHUB_WORKSPACE/$GITHUB_RUN_NUMBER" | |
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$GITHUB_WORKSPACE --bindir=$OUTDIR_PATH/bin --libdir=$OUTDIR_PATH/lib" | |
fi | |
if [ "${{ matrix.config.unit_tests }}" = "true" ] || [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
mkdir -p $PARAMS_DIR | |
PARAMS_FLAGS="--with-params-dir=$PARAMS_DIR" | |
fi | |
echo ::group::Autogen | |
./autogen.sh | |
echo ::endgroup:: | |
echo ::group::Configure | |
./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL ${{ matrix.config.BITCOIN_CONFIG }} $PARAMS_FLAGS || ( cat config.log && false) | |
echo ::endgroup | |
echo ::group::Build | |
make -j2 ${{ matrix.config.goal }} || ( echo "Build failure. Verbose build follows." && make ${{ matrix.config.goal }} V=1 ; false ) | |
echo ::endgroup:: | |
if [ "${{ matrix.config.unit_tests }}" = "true" ] || [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
echo ::group::Params | |
./params/install-params.sh $PARAMS_DIR | |
echo ::endgroup:: | |
fi | |
if [ "${{ matrix.config.unit_tests }}" = "true" ]; then | |
echo ::group::Unit-Tests | |
make -j2 check VERBOSE=1 | |
echo ::endgroup:: | |
fi | |
if [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
echo ::group::Functional-Tests | |
test/functional/test_runner.py --combinedlogslen=4000 ${{ matrix.config.test_runner_extra }} | |
echo ::endgroup:: | |
fi | |
build_depends: | |
name: Depends-${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
needs: lint | |
env: | |
APT_BASE: ccache | |
SDK_URL: https://bitcoincore.org/depends-sources/sdks | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: ARM 32-bit | |
os: ubuntu-20.04 | |
host: arm-linux-gnueabihf | |
apt_get: python3 g++-arm-linux-gnueabihf | |
- name: AARCH64 | |
os: ubuntu-20.04 | |
host: aarch64-linux-gnu | |
apt_get: python3 g++-aarch64-linux-gnu | |
- name: Win64 | |
os: ubuntu-20.04 | |
host: x86_64-w64-mingw32 | |
apt_get: python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64 | |
- name: 32-bit + dash | |
os: ubuntu-20.04 | |
host: i686-pc-linux-gnu | |
apt_get: g++-multilib python3-zmq | |
- name: x86_64 Linux | |
os: ubuntu-20.04 | |
host: x86_64-unknown-linux-gnu | |
apt_get: python3-zmq | |
dep_opts: DEBUG=1 | |
- name: macOS 10.12 | |
os: ubuntu-20.04 | |
host: x86_64-apple-darwin16 | |
apt_get: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools | |
XCODE_VERSION: 11.3.1 | |
XCODE_BUILD_ID: 11C505 | |
steps: | |
- name: Get Source | |
uses: actions/checkout@v3 | |
- name: Setup Environment | |
run: | | |
sudo apt-get update | |
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.apt_get }} | |
- name: depends cache files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
depends/built | |
depends/sdk-sources | |
depends/${{ matrix.config.host }} | |
key: ${{ runner.os }}-depends-${{ matrix.config.host }} | |
restore-keys: ${{ runner.os }}-depends-${{ matrix.config.host }} | |
- name: Build Depends | |
run: | | |
export LC_ALL=C.UTF-8 | |
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") | |
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers. | |
PATH=$PATH:/usr/lib/llvm-6.0/bin/ | |
export PATH | |
mkdir -p depends/SDKs depends/sdk-sources | |
OSX_SDK_BASENAME="Xcode-${{ matrix.config.XCODE_VERSION }}-${{ matrix.config.XCODE_BUILD_ID }}-extracted-SDK-with-libcxx-headers.tar.gz" | |
OSX_SDK_PATH="depends/sdk-sources/${OSX_SDK_BASENAME}" | |
if [ -n "${{ matrix.config.XCODE_VERSION }}" ] && [ ! -f "$OSX_SDK_PATH" ]; then | |
curl --location --fail "${SDK_URL}/${OSX_SDK_BASENAME}" -o "$OSX_SDK_PATH" | |
fi | |
if [ -n "${{ matrix.config.XCODE_VERSION }}" ] && [ -f "$OSX_SDK_PATH" ]; then | |
tar -C "depends/SDKs" -xf "$OSX_SDK_PATH" | |
fi | |
if [[ ${{ matrix.config.host }} = *-mingw32 ]]; then | |
BIN=$(which ${{ matrix.config.host }}-g++-posix) | |
sudo update-alternatives --set ${{ matrix.config.host }}-g++ $BIN | |
fi | |
if [ -z "${{ matrix.config.no_depends }}" ]; then | |
make -j2 -C depends HOST=${{ matrix.config.host }} ${{ matrix.config.dep_opts }} | |
fi | |
build_depends_wallet: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
needs: [lint, build_depends] | |
env: | |
APT_BASE: ccache | |
CCACHE_DIR: ${{ github.workspace }}/.ccache | |
CCACHE_SIZE: 500M | |
CCACHE_COMPRESS: 1 | |
PARAMS_DIR: ${{ github.workspace }}/.pivx-params | |
WINEDEBUG: fixme-all | |
BOOST_TEST_RANDOM: 1 # random seed based on the current time | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: ARM 32-bit [GOAL:install] [no unit or functional tests] | |
id: ARM32 | |
os: ubuntu-20.04 | |
host: arm-linux-gnueabihf | |
apt_get: python3 g++-arm-linux-gnueabihf | |
unit_tests: false | |
functional_tests: false | |
goal: install | |
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1" | |
# This could be removed once the ABI change warning does not show up by default | |
BITCOIN_CONFIG: "--with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --disable-online-rust CXXFLAGS=-Wno-psabi" | |
- name: AARCH64 [GOAL:install] [no unit or functional tests] | |
id: ARM64 | |
os: ubuntu-20.04 | |
host: aarch64-linux-gnu | |
apt_get: python3 g++-aarch64-linux-gnu | |
unit_tests: false | |
functional_tests: false | |
goal: install | |
BITCOIN_CONFIG: "--with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --disable-online-rust" | |
- name: Win64 [GOAL:deploy] [no unit or functional tests] | |
id: Win64 | |
os: ubuntu-20.04 | |
host: x86_64-w64-mingw32 | |
apt_get: python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64 | |
unit_tests: false | |
functional_tests: false | |
symbol_check: true | |
goal: deploy | |
BITCOIN_CONFIG: "--with-gui=auto --enable-reduce-exports --disable-online-rust" | |
- name: x86_64 Linux [GOAL:install] | |
id: Linux-x86_64 | |
os: ubuntu-20.04 | |
host: x86_64-unknown-linux-gnu | |
apt_get: python3-zmq | |
unit_tests: true | |
functional_tests: true | |
goal: install | |
test_runner_extra: "--coverage --all --exclude feature_dbcrash" | |
BITCOIN_CONFIG: "--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --disable-online-rust" | |
- name: x86_64 Linux [GOAL:install] [no GUI, no unit tests, only functional tests on legacy pre-HD wallets] | |
id: Linux-x86_64-nogui | |
os: ubuntu-20.04 | |
host: x86_64-unknown-linux-gnu | |
apt_get: python3-zmq | |
unit_tests: false | |
functional_tests: true | |
goal: install | |
test_runner_extra: "--legacywallet" | |
BITCOIN_CONFIG: "--enable-zmq --with-gui=no --enable-glibc-back-compat --enable-reduce-exports --disable-online-rust" | |
- name: macOS 10.12 [GOAL:deploy] [no unit or functional tests] | |
id: macOS10.12 | |
os: ubuntu-20.04 | |
host: x86_64-apple-darwin16 | |
apt_get: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools | |
XCODE_VERSION: 11.3.1 | |
XCODE_BUILD_ID: 11C505 | |
unit_tests: false | |
functional_tests: false | |
symbol_check: true | |
goal: deploy | |
BITCOIN_CONFIG: "--enable-gui --enable-reduce-exports --enable-werror --disable-online-rust" | |
steps: | |
- name: Get Source | |
uses: actions/checkout@v3 | |
- name: Setup Environment | |
run: | | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
sudo apt-add-repository "ppa:ondrej/php" -y | |
sudo apt-get --yes update | |
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.apt_get }} | |
fi | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
brew install ${{ matrix.config.brew_install }} | |
pip3.8 install ds_store mac_alias | |
fi | |
- name: depends cache files | |
if: matrix.config.no_depends != 1 | |
uses: actions/cache@v3 | |
with: | |
path: | | |
depends/built | |
depends/sdk-sources | |
depends/${{ matrix.config.host }} | |
key: ${{ runner.os }}-depends-${{ matrix.config.host }} | |
restore-keys: ${{ runner.os }}-depends-${{ matrix.config.host }} | |
- name: ccache cache files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
.ccache | |
.pivx-params | |
key: ${{ runner.os }}-depbuild-${{ matrix.config.id }}-ccache | |
restore-keys: ${{ runner.os }}-depbuilt-${{ matrix.config.id }}-ccache | |
- name: Build Wallet | |
run: | | |
export LC_ALL=C.UTF-8 | |
echo $CCACHE_DIR | |
echo $PARAMS_DIR | |
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") | |
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers. | |
PATH=$PATH:/usr/lib/llvm-6.0/bin/ | |
export PATH | |
mkdir -p depends/SDKs depends/sdk-sources | |
OSX_SDK_BASENAME="Xcode-${{ matrix.config.XCODE_VERSION }}-${{ matrix.config.XCODE_BUILD_ID }}-extracted-SDK-with-libcxx-headers.tar.gz" | |
OSX_SDK_PATH="depends/sdk-sources/${OSX_SDK_BASENAME}" | |
if [ -n "${{ matrix.config.XCODE_VERSION }}" ] && [ ! -f "$OSX_SDK_PATH" ]; then | |
curl --location --fail "${SDK_URL}/${OSX_SDK_BASENAME}" -o "$OSX_SDK_PATH" | |
fi | |
if [ -n "${{ matrix.config.XCODE_VERSION }}" ] && [ -f "$OSX_SDK_PATH" ]; then | |
tar -C "depends/SDKs" -xf "$OSX_SDK_PATH" | |
fi | |
if [[ ${{ matrix.config.host }} = *-mingw32 ]]; then | |
BIN=$(which ${{ matrix.config.host }}-g++-posix) | |
sudo update-alternatives --set ${{ matrix.config.host }}-g++ $BIN | |
sudo update-binfmts --import /usr/share/binfmts/wine | |
fi | |
if [[ ${{ matrix.config.os }} = macos* ]]; then | |
CC=${{ matrix.config.cc }} | |
CXX=${{ matrix.config.cxx }} | |
export CC | |
export CXX | |
fi | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
OUTDIR_PATH="$GITHUB_WORKSPACE/$GITHUB_RUN_NUMBER-${{ matrix.config.host }}" | |
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$GITHUB_WORKSPACE/depends/${{ matrix.config.host }} --bindir=$OUTDIR_PATH/bin --libdir=$OUTDIR_PATH/lib" | |
fi | |
if [ "${{ matrix.config.unit_tests }}" = "true" ] || [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
mkdir -p $PARAMS_DIR | |
PARAMS_FLAGS="--with-params-dir=$PARAMS_DIR" | |
fi | |
echo ::group::Autogen | |
./autogen.sh | |
echo ::endgroup:: | |
mkdir build && cd build | |
echo ::group::Configure | |
../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL ${{ matrix.config.BITCOIN_CONFIG }} $PARAMS_FLAGS || ( cat config.log && false) | |
echo ::endgroup:: | |
echo ::group::Distdir | |
make distdir VERSION=${{ matrix.config.host }} | |
echo ::endgroup:: | |
cd pivx-${{ matrix.config.host }} | |
echo ::group::Configure | |
./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL ${{ matrix.config.BITCOIN_CONFIG }} $PARAMS_FLAGS || ( cat config.log && false) | |
echo ::endgroup | |
echo ::group::Build | |
make -j2 ${{ matrix.config.goal }} || ( echo "Build failure. Verbose build follows." && make ${{ matrix.config.goal }} V=1 ; false ) | |
echo ::endgroup:: | |
if [ "${{ matrix.config.unit_tests }}" = "true" ] || [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
echo ::group::Params | |
./params/install-params.sh $PARAMS_DIR | |
echo ::endgroup:: | |
fi | |
echo ::group::Security-Check | |
make -j2 -C src check-security | |
echo ::endgroup:: | |
if [ "${{matrix.config.symbol_check }}" = "true" ]; then | |
echo ::group::Symbol-Check | |
make -j2 -C src check-symbols | |
echo ::endgroup:: | |
fi | |
if [ "${{ matrix.config.unit_tests }}" = "true" ]; then | |
echo ::group::Unit-Tests | |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then | |
LD_LIBRARY_PATH=$GITHUB_WORKSPACE/depends/"${{ matrix.config.host }}"/lib make -j2 check VERBOSE=1 | |
else | |
make -j2 check VERBOSE=1 | |
fi | |
echo ::endgroup:: | |
fi | |
if [ "${{ matrix.config.functional_tests }}" = "true" ]; then | |
echo ::group::Functional-Tests | |
test/functional/test_runner.py --combinedlogslen=4000 ${{ matrix.config.test_runner_extra }} | |
echo ::endgroup:: | |
fi |