Refactor Embit module naming and implement descriptor_parse #151
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: 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/[email protected] | |
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 | |
FUZZ=descriptor_parse ./bitcoinfuzz -runs=100 | |
- name: Test - miniscript_parse | |
run: | | |
export CXXFLAGS="-DBITCOIN_CORE -DRUST_MINISCRIPT -DEMBIT" | |
make | |
FUZZ=miniscript_parse ./bitcoinfuzz -runs=100 | |
- name: Test - script_asm | |
run: | | |
export CXXFLAGS="-DBITCOIN_CORE -DBTCD" | |
make | |
FUZZ=script_asm ./bitcoinfuzz -runs=100 | |
- name: Test - deserialize_invoice | |
run: | | |
export CXXFLAGS="-DLDK -DLND -DNLIGHTNING" | |
make | |
FUZZ=deserialize_invoice ./bitcoinfuzz -runs=100 | |
- name: Test - address_parse | |
run: | | |
export CXXFLAGS="-DBITCOIN_CORE -DRUST_BITCOIN" | |
make | |
FUZZ=address_parse ./bitcoinfuzz -runs=100 |