Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0091489
ci: shard race detector unit tests across runners
jtobin Jun 11, 2026
76c50d0
makefile+scripts: support running an offset subset of itest tranches
jtobin Jun 11, 2026
e1d5da7
ci: split postgres itests across runners with prebuilt binaries
jtobin Jun 11, 2026
e7cf8da
scripts: fail unit_race_part.sh loudly if go list fails
jtobin Jun 11, 2026
cf2ff04
ci: run split itests with finer tranches
jtobin Jun 12, 2026
57619bc
ci: run DB-variant unit and race tests on DB packages only
jtobin Jun 12, 2026
3de9487
ci: fold dep-pin and milestone checks into static checks
jtobin Jun 12, 2026
69d09d9
ci: remove the auto cache cleanup job
jtobin Jun 12, 2026
c537e58
ci: drop the runner space cleanup step from the main workflow
jtobin Jun 12, 2026
2cb75f6
ci: trim low-value itest configurations
jtobin Jun 12, 2026
b08dc19
chainntnfs: cover no-txindex fallbacks in the interface tests
jtobin Jun 12, 2026
aa7ba7a
ci: run bitcoind-miner itests only when lntest changes
jtobin Jun 12, 2026
e7efbb9
makefile: serialize test binaries for multi-package unit runs
jtobin Jun 12, 2026
5bdfde3
ci: cross-compile windows itest binaries on linux
jtobin Jun 12, 2026
845bbd9
ci: run sqlite itests with 16 tranches
jtobin Jun 12, 2026
cde980d
scripts: rebalance unit race tranche assignment
jtobin Jun 12, 2026
92ee23a
ci: build representative cross-compile subset (experimental)
jtobin Jun 12, 2026
151901b
ci: drop the DB-flavor race jobs (experimental)
jtobin Jun 12, 2026
482e24b
ci: drop the btcd basic itest configuration (experimental)
jtobin Jun 12, 2026
0be05d6
ci: reduce the SQL itest matrix to its diagonal (experimental)
jtobin Jun 12, 2026
eee438a
scripts: balance race tranches by measured package duration
jtobin Jun 12, 2026
73c05cf
ci: run windows itests with 16 tranches (experimental)
jtobin Jun 12, 2026
1d564a0
ci: split windows itests across two runners (experimental)
jtobin Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/workflows/lntest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: lntest

# The bitcoind-miner itest configuration exercises the lntest
# harness's bitcoind miner support rather than any production lnd
# code, so it only runs when the harness itself (or this workflow)
# changes.
on:
push:
branches:
- "master"
paths:
- "lntest/**"
pull_request:
branches:
- "*"
paths:
- "lntest/**"
- ".github/workflows/lntest.yml"

permissions:
contents: read

concurrency:
group: lntest-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

env:
# Accepts either a major image tag like "30" or a patch tag like "29.1".
BITCOIN_VERSION: "31"

# TRANCHES defines the number of tranches used in the itests.
TRANCHES: 16

# If you change this please also update GO_VERSION in Makefile (then run
# `make lint` to see where else it needs to be updated as well).
GO_VERSION: 1.26.4

jobs:
bitcoind-miner-itest:
name: Run bitcoind-miner itests
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Fetch and rebase on ${{ github.base_ref }}
if: github.event_name == 'pull_request'
uses: ./.github/actions/rebase

- name: Setup go ${{ env.GO_VERSION }}
uses: ./.github/actions/setup-go
with:
go-version: '${{ env.GO_VERSION }}'
key-prefix: integration-test

- name: Install bitcoind
run: ./scripts/install_bitcoind.sh $BITCOIN_VERSION

- name: Run bitcoind-miner itests
run: make itest-parallel tranches=${{ env.TRANCHES }} backend=bitcoind minerbackend=bitcoind shuffleseed=${{ github.run_id }}

- name: Zip log files on failure
if: ${{ failure() }}
timeout-minutes: 5 # timeout after 5 minute
run: 7z a logs-itest-bitcoind-miner.zip itest/**/*.log

- name: Upload log files on failure
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: logs-itest-bitcoind-miner
path: logs-itest-bitcoind-miner.zip
retention-days: 5
Loading
Loading