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 24.0.1 (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 Dec 27, 2022
1 parent 36c01a1 commit 0185828
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
12 changes: 8 additions & 4 deletions .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"]
bitcoind-version: ["0.18.0", "24.0.1"]

steps:
- uses: actions/checkout@v2
Expand All @@ -19,7 +20,7 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Cache venv
id: cache-venv
uses: actions/cache@v2
uses: actions/cache@v3
env:
cache-name: venv
with:
Expand All @@ -35,16 +36,19 @@ jobs:
- name: Lint with flake8
run: ./jmvenv/bin/flake8 -v jmclient jmbase jmbitcoin jmdaemon scripts
- name: Cache bitcoind
uses: actions/cache@v2
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@v2
uses: actions/cache@v3
env:
cache-name: miniircd
with:
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 0185828

Please sign in to comment.