Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 20 additions & 6 deletions .github/workflows/e2e-subtensor-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ on:
- testnet
- devnet
- devnet-ready
custom_image_tag:
description: "Custom docker image tag — overrides selection above (e.g. pr-2441)"
required: false
type: string
default: ""

env:
CARGO_TERM_COLOR: always
Expand Down Expand Up @@ -66,16 +71,25 @@ jobs:
id: set-image
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_CUSTOM_TAG: ${{ github.event.inputs.custom_image_tag }}
INPUT_CHOICE_TAG: ${{ github.event.inputs.docker_image_tag }}
run: |
echo "Event: $GITHUB_EVENT_NAME"
echo "Branch: $GITHUB_REF_NAME"

# Check if docker_image_tag input is provided (for workflow_dispatch)
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
docker_tag_input="${{ github.event.inputs.docker_image_tag }}"
if [[ -n "$docker_tag_input" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${docker_tag_input}"
echo "Using Docker image tag from workflow_dispatch input: ${docker_tag_input}"
custom_tag=$(echo "$INPUT_CUSTOM_TAG" | xargs)
if [[ -n "$custom_tag" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${custom_tag}"
echo "Using custom docker image tag: ${custom_tag}"
echo "✅ Final selected image: $image"
echo "image=$image" >> "$GITHUB_OUTPUT"
exit 0
fi

if [[ -n "$INPUT_CHOICE_TAG" ]]; then
image="ghcr.io/opentensor/subtensor-localnet:${INPUT_CHOICE_TAG}"
echo "Using standard docker image tag: ${INPUT_CHOICE_TAG}"
echo "✅ Final selected image: $image"
echo "image=$image" >> "$GITHUB_OUTPUT"
exit 0
Expand Down Expand Up @@ -163,7 +177,7 @@ jobs:
os:
- ubuntu-latest
test-file: ${{ fromJson(needs.find-tests.outputs.test-files) }}
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- name: Check-out repository
uses: actions/checkout@v4
Expand Down
39 changes: 12 additions & 27 deletions .github/workflows/ruff-formatter.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,27 @@
name: Ruff Formatter Check

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

permissions:
contents: read

on:
pull_request:
types: [opened, synchronize, reopened, edited]
types: [opened, synchronize, reopened]

jobs:
ruff:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9.13"]
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Set up caching for Ruff virtual environment
id: cache-ruff
uses: actions/cache@v4
with:
path: .venv
key: v2-pypi-py-ruff-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
restore-keys: |
v2-pypi-py-ruff-${{ matrix.python-version }}-

- name: Set up Ruff virtual environment if cache is missed
if: steps.cache-ruff.outputs.cache-hit != 'true'
run: |
python -m venv .venv
.venv/bin/python -m pip install ruff==0.11.5

- name: Ruff format check
run: |
.venv/bin/ruff format --diff bittensor_cli
.venv/bin/ruff format --diff tests
uses: astral-sh/ruff-action@v3
with:
version: "0.11.5"
args: "format --diff"
src: "bittensor_cli tests"
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- name: Check-out repository
uses: actions/checkout@v4
Expand Down
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
# Changelog

## 9.19.0 /2026-03-02

## What's Changed
* fix: JSON output empty for `btcli subnets list --json-out` command by @GlobalStar117 in https://github.com/opentensor/btcli/pull/800
* fix: disable wallet history command due to external API deprecation by @jose-blockchain in https://github.com/opentensor/btcli/pull/811
* Reusable `create_table()` Utility for Consistent Table Styling by @eureka928 in https://github.com/opentensor/btcli/pull/790
* fix: replace broad exception catches with specific exception types by @Achieve3318 in https://github.com/opentensor/btcli/pull/773
* Improve disk caching by @thewhaleking in https://github.com/opentensor/btcli/pull/682
* Feat/rework ck swap by @ibraheem-abe in https://github.com/opentensor/btcli/pull/792
* Error message handled properly by @thewhaleking in https://github.com/opentensor/btcli/pull/814
* Backmerge/9181 by @ibraheem-abe in https://github.com/opentensor/btcli/pull/816
* Adds more to the debug section of the readme by @thewhaleking in https://github.com/opentensor/btcli/pull/817
* Fix/proxy stake add remove by @ibraheem-abe in https://github.com/opentensor/btcli/pull/819
* Fix/update proxy usage stuff by @ibraheem-abe in https://github.com/opentensor/btcli/pull/820
* Feat: Add help cmd alias by @ibraheem-abe in https://github.com/opentensor/btcli/pull/821
* Backmerge/9.18.1 by @ibraheem-abe in https://github.com/opentensor/btcli/pull/823
* Feat/balancer swap updates by @ibraheem-abe in https://github.com/opentensor/btcli/pull/813
* Handle different types in `sudo set` with arbitrary hyperparams by @thewhaleking in https://github.com/opentensor/btcli/pull/825
* Update: Python 3.9 End of Life by @ibraheem-abe in https://github.com/opentensor/btcli/pull/829
* Optimises the workflow for ruff. by @thewhaleking in https://github.com/opentensor/btcli/pull/831
* Optimises the workflow for ruff. by @thewhaleking in https://github.com/opentensor/btcli/pull/832
* feat: Add hyperparams: sudo_set_sn_owner_hotkey, sudo_set_subnet_owner_hotkey, sudo_set_recycle_or_burn by @MkDev11 in https://github.com/opentensor/btcli/pull/827
* subnet buyback / stake-burn by @ibraheem-abe in https://github.com/opentensor/btcli/pull/818
* Fix: Update test_stake_burn by @ibraheem-abe in https://github.com/opentensor/btcli/pull/837
* Feat: Updated MevShield mechanics by @ibraheem-abe in https://github.com/opentensor/btcli/pull/828
* docs: fix typo in README (pacakge → package) by @GeObts in https://github.com/opentensor/btcli/pull/839
* Fix: Remove old mev_shield artifact from stake_burn by @ibraheem-abe in https://github.com/opentensor/btcli/pull/842
* Revert "Feat/balancer swap updates" by @ibraheem-abe in https://github.com/opentensor/btcli/pull/836
* Update/CK swap error handling by @ibraheem-abe in https://github.com/opentensor/btcli/pull/844
* Tests: Add custom tags for docker images in e2e by @ibraheem-abe in https://github.com/opentensor/btcli/pull/848
* Update: Cap MeV shield txs era to 8 by @ibraheem-abe in https://github.com/opentensor/btcli/pull/850
* Update: Enforce era 'always' for mev_shield txs by @ibraheem-abe in https://github.com/opentensor/btcli/pull/851
* Adds max_allowed_uids hyperparam for setting by @thewhaleking in https://github.com/opentensor/btcli/pull/852
* Applies type hint to to `process_nested` by @thewhaleking in https://github.com/opentensor/btcli/pull/856
* Update/runtime update by @ibraheem-abe in https://github.com/opentensor/btcli/pull/857
* feat: add support for the `--all` to proxy remove by @eureka928 in https://github.com/opentensor/btcli/pull/834
* Adds signed commits info to docs by @thewhaleking in https://github.com/opentensor/btcli/pull/859
* Add better typing by @thewhaleking in https://github.com/opentensor/btcli/pull/858
* Update: Pin btwallet requirement by @ibraheem-abe in https://github.com/opentensor/btcli/pull/864

## New Contributors
* @GlobalStar117 made their first contribution in https://github.com/opentensor/btcli/pull/800
* @jose-blockchain made their first contribution in https://github.com/opentensor/btcli/pull/811
* @Achieve3318 made their first contribution in https://github.com/opentensor/btcli/pull/773
* @GeObts made their first contribution in https://github.com/opentensor/btcli/pull/839

**Full Changelog**: https://github.com/opentensor/btcli/compare/v9.18.1...v9.19.0

## 9.18.1 /2026-02-05

## What's Changed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ You can install `btcli` on your local machine directly from source, PyPI, or Hom
Note that the macOS preinstalled CPython installation is compiled with LibreSSL instead of OpenSSL. There are a number
of issues with LibreSSL, and as such is not fully supported by the libraries used by btcli. Thus we highly recommend, if
you are using a Mac, to first install Python from [Homebrew](https://brew.sh/). Additionally, the Rust FFI bindings
[if installing from precompiled wheels (default)] require the Homebrew-installed OpenSSL pacakge. If you choose to use
[if installing from precompiled wheels (default)] require the Homebrew-installed OpenSSL package. If you choose to use
the preinstalled Python version from macOS, things may not work completely.


Expand Down
Loading
Loading