mirror of
https://github.com/openoms/joininbox.git
synced 2026-08-13 12:33:14 +02:00
* chore: update wallet creation to use watch-only-descriptor-wallet * remove duplicate version check * fix: update release URL in install script and correct typo in wallet import message * ci: test amd64 image descriptor wallet migration with Bats * ci: boot amd64 image tests with OVMF pflash * fix: gate descriptor wallet migration on Bitcoin Core v30 Detect the connected Bitcoin Core version over RPC before migrating. Keep wallet.dat for v29.x or when the version cannot be determined. Add regression coverage for both migration and compatibility paths. * ci: make amd64 image tests independent of guest apt Inject a pinned bats-core checkout into the temporary VM instead of installing Bats through the guest package repositories. Remove the duplicate pull request trigger and simplify artifact lookup. * ci: harden image build run * docs(FAQ): how automatic migration works |
||
|---|---|---|
| .. | ||
| bats | ||
| README.md | ||
| run-bats-local.sh | ||
JoininBox integration tests
Run the local Bats suite with:
test/run-bats-local.sh
The descriptor wallet tests require:
batsbitcoindbitcoin-clicurljq
The suite starts its own temporary bitcoind -regtest datadir and does not use
mainnet, signet, or any existing Bitcoin Core state.
The amd64-image-test workflow downloads a previously built
joininbox-amd64-image-* artifact, verifies the compressed and raw checksums,
decompresses a runner-local qcow2 copy, boots it with QEMU in snapshot mode,
copies a pinned bats-core checkout into that temporary VM session, and runs
the same suite from the JoininBox checkout inside the image. This avoids
depending on the guest's configured APT repositories just to install test
tooling.
The test workflow has two entry points:
workflow_run: runs after a successfulamd64-image-buildonce this workflow exists on the repository default branch.workflow_dispatch: reruns against a specific build artifact by providing theamd64-image-buildworkflow run ID, as long as the artifact is still retained by GitHub Actions.