Skip to content

EXP-189: replace homegrown Bitcoin RPC for bitcoind-json-rpc-types #524

EXP-189: replace homegrown Bitcoin RPC for bitcoind-json-rpc-types

EXP-189: replace homegrown Bitcoin RPC for bitcoind-json-rpc-types #524

Workflow file for this run

name: Run functional tests
on:
pull_request:
merge_group:
push:
branches: [master]
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: Lint test files
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "^3.10" # Keep in sync with `pyproject.toml`
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python -
echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Configure Poetry to create the virtual environment inside the project
run: poetry config virtualenvs.in-project true
- name: Install python dependencies
run: cd functional-tests && poetry install --no-root && cd -
- name: Check formatting
run: cd functional-tests && poetry run ruff format --check && cd -
- name: Lint
run: cd functional-tests && poetry run ruff check && cd -
run:
name: Run functional tests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Cleanup space
# https://github.com/actions/runner-images/issues/2840#issuecomment-790492173
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/local/.ghcup
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "^3.10" # Keep in sync with `pyproject.toml`
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python -
echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Configure Poetry to create the virtual environment inside the project
run: poetry config virtualenvs.in-project true
- name: Install python dependencies
run: cd functional-tests && poetry install --no-root && cd -
- name: Set up Rust
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Build Cargo project
run: cargo build --locked
- name: Install bitcoind
run: |
wget https://bitcoin.org/bin/bitcoin-core-27.0/bitcoin-27.0-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-27.0-x86_64-linux-gnu.tar.gz
sudo install -m 0755 -t /usr/local/bin bitcoin-27.0/bin/*
bitcoind --version
- name: Run functional tests (1)
id: funcTestsRun1
continue-on-error: true
run: |
export PATH=$(realpath target/debug/):$PATH
which alpen-express-sequencer
cd functional-tests && \
poetry run python entry.py
# Run again just to be sure as some tests are flaky
- name: Run functional tests (2)
if: steps.funcTestsRun1.outcome == 'failure'
run: |
export PATH=$(realpath target/debug/):$PATH
which alpen-express-sequencer
cd functional-tests && \
poetry run python entry.py
functional-tests-success:
name: Check that all checks pass
runs-on: ubuntu-latest
if: always()
needs: [lint, run]
timeout-minutes: 60
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}