Skip to content

Commit

Permalink
GitHub workflow update (test multiple Bitcoin Core versions)
Browse files Browse the repository at this point in the history
* Add support for testing against multiple Bitcoin Core versions, add
  0.18.0 (oldest officially support for test suite) and 25.0 (latest
  stable release). Previously we tested against hardcoded 0.19.1. IMO
  testing against oldest supported and latest makes sense, if tests pass
  on both, they should pass on releases inbetween too, unless there is
  some behaviour affecting us changed twice.
* Update actions/cache from v2 to v3.

Also changed Core downloads from bitcoin.org to bitcoincore.org.
  • Loading branch information
kristapsk committed Jun 3, 2023
1 parent b184527 commit 68844a8
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/unittests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ jobs:
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
bitcoind-version: ["0.18.0", "25.0"]

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -38,10 +39,13 @@ jobs:
uses: actions/cache@v3
env:
cache-name: bitcoind
BITCOIND_VERSION: ${{ matrix.bitcoind-version }}
with:
path: ~/bitcoin/*/bin/bitcoin*
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('test/testrunner/install_bitcoind.sh') }}
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.BITCOIND_VERSION }}-${{ hashFiles('test/testrunner/install_bitcoind.sh') }}
- name: Install bitcoind
env:
BITCOIND_VERSION: ${{ matrix.bitcoind-version }}
run: ./test/testrunner/install_bitcoind.sh
- name: Cache miniircd
uses: actions/cache@v3
Expand Down
11 changes: 9 additions & 2 deletions test/testrunner/install_bitcoind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@

set -ev

export BITCOIND_VERSION=0.19.1
if [[ -z "$BITCOIND_VERSION" ]]; then
echo "BITCOIND_VERSION must be set"
exit 1
fi

if [[ "$(uname)" == "Linux" ]]; then
platform="x86_64-linux-gnu"
elif [[ "$(uname)" == "Darwin" ]]; then
platform="osx64"
if [[ $BITCOIND_VERSION > 23.0 || $BITCOIND_VERSION == 23.0 ]]; then
platform="x86_64-apple-darwin"
else
platform="osx64"
fi
else
echo "Unsupported platform: $(uname)"
exit 1
Expand Down

0 comments on commit 68844a8

Please sign in to comment.