Skip to content

Refactor Embit module naming and implement descriptor_parse #151

Refactor Embit module naming and implement descriptor_parse

Refactor Embit module naming and implement descriptor_parse #151

Workflow file for this run

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