From 2e55b94d699de834d96aed97afc9afa48c2cfd1d Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 16:58:30 +0100 Subject: [PATCH 1/9] install llvm in ci to build electrs --- .github/workflows/build_electrs.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index 9686f96..f14e5c2 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -49,6 +49,12 @@ jobs: repository: Blockstream/electrs ref: ${{ env.ELECTRS_COMMIT }} - uses: dtolnay/rust-toolchain@stable + - name: Install LLVM (Ubuntu) + if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install -y llvm-dev libclang-dev clang + - name: Install LLVM (macOS) + if: runner.os == 'macOS' + run: brew install llvm - run: cargo build --release - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} From ff81d75943bbd7746b249a564a66d0e2a98822ce Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:01:29 +0100 Subject: [PATCH 2/9] try downgarding os --- .github/workflows/build_electrs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index f14e5c2..b28b08a 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -38,7 +38,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-24.04, macos-15] + os: [ubuntu-20.04, macos-14] env: ELECTRS_COMMIT: "a33e97e1a1fc63fa9c20a116bb92579bbf43b254" From 0b50896dcc409e548e5dd37df72ea56cfde1c8c9 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:22:32 +0100 Subject: [PATCH 3/9] use older rust --- .github/workflows/build_electrs.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index b28b08a..1a36280 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -38,9 +38,10 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-14] + os: [ubuntu-22.04, macos-14] env: ELECTRS_COMMIT: "a33e97e1a1fc63fa9c20a116bb92579bbf43b254" + RUST_VERSION: "1.75.0" steps: - name: Check out Electrs @@ -48,14 +49,16 @@ jobs: with: repository: Blockstream/electrs ref: ${{ env.ELECTRS_COMMIT }} - - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ env.RUST_VERSION }} - name: Install LLVM (Ubuntu) if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y llvm-dev libclang-dev clang - name: Install LLVM (macOS) if: runner.os == 'macOS' run: brew install llvm - - run: cargo build --release + - run: cargo build --release --locked - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} - name: Upload libs From e928cc79c7fa7f31e2524c9c105a5892aeed3bbb Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:27:40 +0100 Subject: [PATCH 4/9] fix mac build --- .github/workflows/build_electrs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index 1a36280..a3607cb 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -57,7 +57,10 @@ jobs: run: sudo apt-get update && sudo apt-get install -y llvm-dev libclang-dev clang - name: Install LLVM (macOS) if: runner.os == 'macOS' - run: brew install llvm + run: | + brew install llvm + echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH + echo "LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm/bin/llvm-config" >> $GITHUB_ENV - run: cargo build --release --locked - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} From 8377e812becba1dad46d0407818c62bcf38a29c5 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:36:11 +0100 Subject: [PATCH 5/9] install previous version of llvm --- .github/workflows/build_electrs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index a3607cb..d62f36a 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -58,9 +58,9 @@ jobs: - name: Install LLVM (macOS) if: runner.os == 'macOS' run: | - brew install llvm - echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH - echo "LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm/bin/llvm-config" >> $GITHUB_ENV + brew install llvm@17 + echo "/opt/homebrew/opt/llvm@17/bin" >> $GITHUB_PATH + echo "LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm@17/bin/llvm-config" >> $GITHUB_ENV - run: cargo build --release --locked - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} From 4a6eca44434de743e7d74cb13ae45b17a9381e90 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:40:55 +0100 Subject: [PATCH 6/9] install llvm on mac in another way --- .github/workflows/build_electrs.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index d62f36a..ed239e1 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -55,12 +55,11 @@ jobs: - name: Install LLVM (Ubuntu) if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y llvm-dev libclang-dev clang - - name: Install LLVM (macOS) + - name: Set up build environment (macOS) if: runner.os == 'macOS' run: | - brew install llvm@17 - echo "/opt/homebrew/opt/llvm@17/bin" >> $GITHUB_PATH - echo "LLVM_CONFIG_PATH=/opt/homebrew/opt/llvm@17/bin/llvm-config" >> $GITHUB_ENV + echo "LIBCLANG_PATH=$(xcode-select -p)/Toolchains/XcodeDefault.xctoolchain/usr/lib" >> $GITHUB_ENV + echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot $(xcrun --show-sdk-path)" >> $GITHUB_ENV - run: cargo build --release --locked - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} From 41c0fe5383c8eba5bdc5dfa2b0653e2cf9d21bb9 Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 17:53:58 +0100 Subject: [PATCH 7/9] use the liquid feature --- .github/workflows/build_electrs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index ed239e1..f94838f 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -60,7 +60,7 @@ jobs: run: | echo "LIBCLANG_PATH=$(xcode-select -p)/Toolchains/XcodeDefault.xctoolchain/usr/lib" >> $GITHUB_ENV echo "BINDGEN_EXTRA_CLANG_ARGS=-isysroot $(xcrun --show-sdk-path)" >> $GITHUB_ENV - - run: cargo build --release --locked + - run: cargo build --release --locked --features liquid - name: downcase runner.os run: echo ${{ runner.os }} | tr '[:upper:]' '[:lower:]' | echo RUNNER_OS_LOWER=$(>${GITHUB_ENV} - name: Upload libs From 19307fc15ba0b51887288d4fb43c8deaaa8e515d Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Thu, 18 Dec 2025 18:13:14 +0100 Subject: [PATCH 8/9] upgrade electrs --- .github/workflows/build_electrs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_electrs.yml b/.github/workflows/build_electrs.yml index f94838f..2919d37 100644 --- a/.github/workflows/build_electrs.yml +++ b/.github/workflows/build_electrs.yml @@ -40,7 +40,7 @@ jobs: matrix: os: [ubuntu-22.04, macos-14] env: - ELECTRS_COMMIT: "a33e97e1a1fc63fa9c20a116bb92579bbf43b254" + ELECTRS_COMMIT: "027e38d3ebc2f85b28ae76f8f3448438ee4fc7b1" RUST_VERSION: "1.75.0" steps: From 0cda74b54f589fcdecc532f869d4440bf978d34d Mon Sep 17 00:00:00 2001 From: Riccardo Casatta Date: Fri, 3 Apr 2026 11:09:49 +0200 Subject: [PATCH 9/9] fix test electrs without download feature --- .github/workflows/cont_integration.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index 02c9aa4..65bb739 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -87,6 +87,10 @@ jobs: ELECTRS_EXEC: "/home/runner/.cargo-install/electrs/bin/electrs" steps: - uses: dtolnay/rust-toolchain@stable + - name: Install LLVM/Clang + run: | + sudo apt-get update + sudo apt-get install -y clang libclang-dev llvm-dev - name: Install electrs # Automatically cache installed binaries to avoid compiling them each run uses: baptiste0928/cargo-install@v2