doc: add build instructions for auto_build.sh and Docker #2
This file contains hidden or 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: Check | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install rust-toolchain | |
| uses: actions-rs/toolchain@v1.0.6 | |
| with: | |
| toolchain: stable | |
| - name: Install go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "stable" | |
| - name: Install .NET SDK | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Setup Python and install embit | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - run: | | |
| python -m pip install --upgrade pip | |
| pip install -r modules/embit/embit_lib/requirements.txt | |
| - name: Install LLVM and Clang | |
| run: | | |
| wget https://apt.llvm.org/llvm.sh | |
| chmod +x llvm.sh | |
| sudo ./llvm.sh 18 | |
| sudo ln -sfT clang++-18 /usr/bin/clang++ | |
| sudo ln -sfT clang-18 /usr/bin/clang | |
| shell: bash | |
| - name: Install Boost | |
| run: | | |
| sudo apt install libboost-all-dev | |
| - name: Setup common environment | |
| run: | | |
| export CC=/usr/bin/clang | |
| export CXX=/usr/bin/clang++ | |
| echo "CC=/usr/bin/clang" >> $GITHUB_ENV | |
| echo "CXX=/usr/bin/clang++" >> $GITHUB_ENV | |
| - name: Build - Bitcoin Core | |
| timeout-minutes: 40 | |
| run: | | |
| export BOOST_LIB_DIR=/usr/lib/x86_64-linux-gnu/ | |
| cd modules/bitcoin && make | |
| - name: Build - rust bitcoin | |
| timeout-minutes: 5 | |
| run: | | |
| rustup default nightly | |
| cd modules/rustbitcoin && make cargo && make | |
| - name: Build - rust miniscript | |
| timeout-minutes: 5 | |
| run: | | |
| rustup default nightly | |
| cd modules/rustminiscript && make cargo && make | |
| - name: Build - btcd | |
| timeout-minutes: 5 | |
| run: | | |
| cd modules/btcd && make | |
| - name: Build - embit | |
| timeout-minutes: 5 | |
| run: | | |
| cd modules/embit && make | |
| - name: Build - lnd | |
| timeout-minutes: 5 | |
| run: | | |
| cd modules/lnd && make | |
| - name: Build - ldk | |
| timeout-minutes: 5 | |
| run: | | |
| rustup default nightly | |
| cd modules/ldk && make cargo && make | |
| - name: Build - nlightning | |
| timeout-minutes: 5 | |
| run: | | |
| cd modules/nlightning && make | |
| - name: Test - script | |
| timeout-minutes: 5 | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DRUST_BITCOIN" | |
| make | |
| FUZZ=script ./bitcoinfuzz -runs=100 | |
| - name: Test - deserialize_block | |
| timeout-minutes: 5 | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DRUST_BITCOIN -DBTCD" | |
| make | |
| FUZZ=deserialize_block ./bitcoinfuzz -runs=100 | |
| - name: Test - script_eval | |
| timeout-minutes: 5 | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DBTCD" | |
| make | |
| FUZZ=script_eval ./bitcoinfuzz -runs=100 | |
| - name: Test - descriptor_parse | |
| timeout-minutes: 5 | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DRUST_MINISCRIPT -DEMBIT" | |
| make | |
| ASAN_OPTIONS=detect_leaks=0 FUZZ=descriptor_parse ./bitcoinfuzz -runs=100 | |
| - name: Test - miniscript_parse | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DRUST_MINISCRIPT -DEMBIT" | |
| make | |
| ASAN_OPTIONS=detect_leaks=0 FUZZ=miniscript_parse ./bitcoinfuzz -runs=0 | |
| - name: Test - script_asm | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DBTCD" | |
| make | |
| FUZZ=script_asm ./bitcoinfuzz -runs=0 | |
| - name: Test - deserialize_invoice | |
| run: | | |
| export CXXFLAGS="-DLDK -DLND -DNLIGHTNING" | |
| make | |
| ASAN_OPTIONS=detect_leaks=0 FUZZ=deserialize_invoice ./bitcoinfuzz -runs=100 | |
| - name: Test - address_parse | |
| run: | | |
| export CXXFLAGS="-DBITCOIN_CORE -DRUST_BITCOIN" | |
| make | |
| FUZZ=address_parse ./bitcoinfuzz -runs=100 | |
| - name: Test - psbt_parse | |
| run: | | |
| export CXXFLAGS="-DEMBIT -DRUST_BITCOIN -DBTCD" | |
| make | |
| ASAN_OPTIONS=detect_leaks=0 FUZZ=psbt_parse ./bitcoinfuzz -runs=100 | |