From 1cbb6fccaf003b3d4fbc270c27aaefaed15da6a8 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Tue, 18 Feb 2025 17:37:18 +0100 Subject: [PATCH 1/4] git: Update libwally to taproot for elements branch Changelog-None --- external/libwally-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/libwally-core b/external/libwally-core index 11e1bf6d60a1..558080464e36 160000 --- a/external/libwally-core +++ b/external/libwally-core @@ -1 +1 @@ -Subproject commit 11e1bf6d60a13e82e1eeda307a776b3defa0a1d3 +Subproject commit 558080464e366ddc378cc08b0af0bce809f9c693 From 0faf53091beb9af434775604333d3078de4e7359 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Wed, 19 Feb 2025 14:43:03 +0100 Subject: [PATCH 2/4] Bisect step 0 --- external/Makefile | 8 ++++---- external/libwally-core | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/external/Makefile b/external/Makefile index 7ca251205191..d7d915ef1898 100644 --- a/external/Makefile +++ b/external/Makefile @@ -60,10 +60,10 @@ endif EXTERNAL_LDLIBS := -L${TARGET_DIR} $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS))) submodcheck: $(FORCE) -ifneq ($(VERSION),) - @tools/refresh-submodules.sh $(SUBMODULES) - @cd external/libwally-core && ../../tools/refresh-submodules.sh src/secp256k1 -endif +#ifneq ($(VERSION),) +# @tools/refresh-submodules.sh $(SUBMODULES) +# @cd external/libwally-core && ../../tools/refresh-submodules.sh src/secp256k1 +#endif $(EXTERNAL_HEADERS): submodcheck diff --git a/external/libwally-core b/external/libwally-core index 558080464e36..4683ed87aed5 160000 --- a/external/libwally-core +++ b/external/libwally-core @@ -1 +1 @@ -Subproject commit 558080464e366ddc378cc08b0af0bce809f9c693 +Subproject commit 4683ed87aed547c915f8cf4945d2f83eb83a3470 From dfac20fbc5a24fe67eb6f7ab1191edeefcb29d03 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Wed, 19 Feb 2025 15:11:34 +0100 Subject: [PATCH 3/4] Bisect 0 was bad (compilation error) --- external/libwally-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/libwally-core b/external/libwally-core index 4683ed87aed5..aba093b7aecf 160000 --- a/external/libwally-core +++ b/external/libwally-core @@ -1 +1 @@ -Subproject commit 4683ed87aed547c915f8cf4945d2f83eb83a3470 +Subproject commit aba093b7aecf23d0abc8777cfea0ac10f0806887 From 2a670a3eb3f4b9dcd1e54b224c039e13aef259e5 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Wed, 19 Feb 2025 15:17:25 +0100 Subject: [PATCH 4/4] REMOVEME: Disable steps to get to the tests --- .github/workflows/ci.yaml | 238 +------------------------------------- 1 file changed, 1 insertion(+), 237 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7a2f455ecbd2..e802fe032df9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,89 +18,12 @@ env: CI_SERVER_URL: "http://35.239.136.52:3170" jobs: - prebuild: - name: Pre-build checks - runs-on: ubuntu-22.04 - timeout-minutes: 30 - env: - BOLTDIR: bolts - strategy: - fail-fast: true - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - - - name: Rebase - # We can't rebase if we're on master already. - if: github.ref != 'refs/heads/master' - run: | - git config user.name github-actions - git config user.email github-actions@github.com - git fetch origin ${{ github.base_ref }} - git rebase origin/${{ github.base_ref }} - - - name: Check changelog - env: - PR_DESCRIPTION: "${{ github.event.pull_request.body || '' }}" - EVENT_NAME: "${{ github.event_name }}" - BASE_REF: "${{ github.base_ref || 'master' }}" - run: | - echo "Event Name: $EVENT_NAME" - echo "Base Ref: $BASE_REF" - echo "PR DESCRIPTION: $PR_DESCRIPTION" - if [ "$EVENT_NAME" = "pull_request" ]; then - if [[ "$PR_DESCRIPTION" != *"Changelog-None"* && \ - -z "$(git log origin/$BASE_REF..HEAD --oneline --grep='Changelog-')" && \ - "$(git rev-parse --abbrev-ref HEAD)" != "$BASE_REF" ]]; then - echo "::error::'Changelog' entry is missing in all commits, and 'Changelog-None' not specified in the PR description" - exit 1 - else - if [[ "$PR_DESCRIPTION" == *"Changelog-None"* ]]; then - echo "Changelog found in PR description" - else - echo "Changelog found in Commit \"$(git log origin/$BASE_REF..HEAD --oneline --grep='Changelog-')\"" - fi - fi - else - echo "Not a PR event." - fi - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install dependencies - run: | - bash -x .github/scripts/setup.sh - pip install -U pip wheel poetry - poetry self add poetry-plugin-export - # Export and then use pip to install into the current env - poetry export -o /tmp/requirements.txt --without-hashes --with dev - pip install -r /tmp/requirements.txt - # We're going to check BOLT quotes, so get the latest version - git clone https://github.com/lightning/bolts.git ../${BOLTDIR} - - name: Configure - run: ./configure --enable-debugbuild --enable-rust - - name: Check source - env: - VALGRIND: 0 - PYTEST_OPTS: --timeout=1200 - run: make check-source BASE_REF="origin/${{ github.base_ref }}" - - name: Check Generated Files have been updated - run: make check-gen-updated - - name: Check docs - run: make check-doc compile: name: Compile CLN ${{ matrix.cfg }} runs-on: ubuntu-22.04 timeout-minutes: 30 - needs: - - prebuild + strategy: fail-fast: true matrix: @@ -211,29 +134,6 @@ jobs: tar -xaf cln-${{ matrix.CFG }}.tar.bz2 make -j $(nproc) check-units installcheck VALGRIND=${{ matrix.VALGRIND }} - check-fuzz: - name: Run fuzz regression tests - runs-on: ubuntu-22.04 - needs: - - prebuild - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install dependencies - run: | - bash -x .github/scripts/setup.sh - pip install -U pip wheel poetry - poetry self add poetry-plugin-export - # Export and then use pip to install into the current env - poetry export -o /tmp/requirements.txt --without-hashes --with dev - pip install -r /tmp/requirements.txt - - name: Build run: | ./configure --enable-debugbuild --enable-fuzzing --enable-address-sanitizer --enable-ub-sanitizer --disable-valgrind CC=clang @@ -479,138 +379,6 @@ jobs: run: | poetry run pytest tests/ -vvv -n 2 ${PYTEST_OPTS} ${{ matrix.PYTEST_OPTS }} - update-docs-examples: - name: Update examples in doc schemas - runs-on: ubuntu-22.04 - timeout-minutes: 30 - strategy: - fail-fast: true - env: - VALGRIND: 0 - GENERATE_EXAMPLES: 1 - PYTEST_OPTS: --timeout=1200 - TEST_NETWORK: regtest - needs: - - compile - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: Install dependencies - run: | - bash -x .github/scripts/setup.sh - pip install -U pip wheel poetry - poetry self add poetry-plugin-export - poetry export -o /tmp/requirements.txt --without-hashes --with dev - pip install -r /tmp/requirements.txt - - name: Install bitcoind - env: - TEST_NETWORK: regtest - run: .github/scripts/install-bitcoind.sh - - name: Download build - uses: actions/download-artifact@v4 - with: - name: cln-compile-gcc.tar.bz2 - - name: Unpack pre-built CLN - run: | - tar -xaf cln-compile-gcc.tar.bz2 - - name: Test - run: | - make -j $(nproc) check-doc-examples - - min-btc-support: - name: Test minimum supported BTC v${{ matrix.MIN_BTC_VERSION }} with ${{ matrix.NAME }} - runs-on: ubuntu-22.04 - timeout-minutes: 120 - env: - RUST_PROFILE: release # Has to match the one in the compile step - PYTEST_OPTS: --timeout=1200 - needs: - - compile - strategy: - fail-fast: true - matrix: - include: - - NAME: clang - CFG: compile-clang - TEST_DB_PROVIDER: sqlite3 - COMPILER: clang - TEST_NETWORK: regtest - MIN_BTC_VERSION: '25.0' - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install dependencies - run: | - pip3 install --user pip wheel poetry - poetry install - - - name: Download Bitcoin Core - run: wget "https://bitcoincore.org/bin/bitcoin-core-${{ matrix.MIN_BTC_VERSION }}/bitcoin-${{ matrix.MIN_BTC_VERSION }}-x86_64-linux-gnu.tar.gz" - - - name: Extract Bitcoin Core - run: tar -xf "bitcoin-${{ matrix.MIN_BTC_VERSION }}-x86_64-linux-gnu.tar.gz" - - - name: Move Bitcoin Core Binaries - run: sudo mv bitcoin-${{ matrix.MIN_BTC_VERSION }}/bin/* /usr/local/bin/ - - - name: Clean Up Downloaded Bitcoin - run: rm -rf "bitcoin-${{ matrix.MIN_BTC_VERSION }}-x86_64-linux-gnu.tar.gz" "bitcoin-${{ matrix.MIN_BTC_VERSION }}" - - - name: Download build - uses: actions/download-artifact@v4 - with: - name: cln-${{ matrix.CFG }}.tar.bz2 - - - name: Unpack pre-built CLN - env: - CFG: ${{ matrix.CFG }} - run: | - tar -xaf cln-${CFG}.tar.bz2 - - - name: Test - env: - COMPILER: ${{ matrix.COMPILER }} - COMPAT: 1 - CFG: ${{ matrix.CFG }} - SLOW_MACHINE: 1 - PYTEST_PAR: 10 - TEST_DEBUG: 1 - TEST_DB_PROVIDER: ${{ matrix.TEST_DB_PROVIDER }} - TEST_NETWORK: ${{ matrix.TEST_NETWORK }} - LIGHTNINGD_POSTGRES_NO_VACUUM: 1 - run: | - env - cat config.vars - VALGRIND=0 poetry run pytest tests/ -vvv -n ${PYTEST_PAR} ${PYTEST_OPTS} - - check-flake: - name: Check Nix Flake - runs-on: ubuntu-22.04 - strategy: - fail-fast: true - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - name: Check Nix flake inputs - uses: DeterminateSystems/flake-checker-action@v8 - - name: Install Nix - uses: cachix/install-nix-action@V27 - with: - nix_path: nixpkgs=channel:nixos-24.05 - - name: Check flake - run: nix flake check .?submodules=1# gather: # A dummy task that depends on the full matrix of tests, and @@ -620,12 +388,8 @@ jobs: runs-on: ubuntu-22.04 needs: - integration - - check-units - integration-valgrind - integration-sanitizers - - update-docs-examples - - min-btc-support - - check-flake steps: - name: Complete run: |