Skip to content

Add pr-checks.yaml (sdk label only) #4

Add pr-checks.yaml (sdk label only)

Add pr-checks.yaml (sdk label only) #4

name: Bittensor Checks
concurrency:
group: e2e-sdk-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
branches:
- master
- staging
types: [opened, synchronize, reopened, labeled, unlabeled]
env:
CARGO_TERM_COLOR: always
VERBOSE: ${{ github.event.inputs.verbose }}
jobs:
check-labels:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
outputs:
skip-tests: ${{ contains(github.event.pull_request.labels.*.name, 'skip-bittensor-tests') }}
run-sdk-tests: ${{ contains(github.event.pull_request.labels.*.name, 'run-bittensor-sdk-tests') }}
steps:
- name: Check out repository
uses: actions/checkout@v4
run-tests:
needs:
- check-labels
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.draft == false && needs.check-labels.outputs.run-sdk-tests == 'true' }}
outputs:
test-files: ${{ steps.get-tests.outputs.test-files }}
strategy:
fail-fast: false
max-parallel: 8
matrix:
rust-branch:
- stable
rust-target:
- x86_64-unknown-linux-gnu
os:
- ubuntu-latest
test-file: ${{ fromJson(outputs.test-files) }}

Check failure on line 46 in .github/workflows/check_sdk_tests.yml

View workflow run for this annotation

GitHub Actions / Bittensor Checks

Invalid workflow file

The workflow is not valid. .github/workflows/check_sdk_tests.yml (Line: 46, Col: 20): Unrecognized named-value: 'outputs'. Located at position 10 within expression: fromJson(outputs.test-files) .github/workflows/check_sdk_tests.yml (Line: 46, Col: 20): Unexpected value '${{ fromJson(outputs.test-files) }}'
timeout-minutes: 60
steps:
- name: Check-out repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update &&
sudo apt-get install -y clang curl libssl-dev llvm libudev-dev protobuf-compiler jq
- name: Install Rust stable
uses: actions-rs/[email protected]
with:
toolchain: stable
components: rustfmt
profile: minimal
- name: Add wasm32-unknown-unknown target
run: |
rustup target add wasm32-unknown-unknown --toolchain stable-x86_64-unknown-linux-gnu
rustup component add rust-src --toolchain stable-x86_64-unknown-linux-gnu
- name: Create Python virtual environment
working-directory: ${{ github.workspace }}
run: python3 -m venv venv
- name: Clone Bittensor SDK repo
working-directory: ${{ github.workspace }}
run: git clone https://github.com/opentensor/bittensor.git
- name: Setup Bittensor SDK from cloned repo
working-directory: ${{ github.workspace }}/bittensor
run: |
source ${{ github.workspace }}/venv/bin/activate
git checkout staging
python3 -m pip install --upgrade pip
python3 -m pip install '.[dev]'
python3 -m pip install maturin
- name: Clone Bittensor Wallet repo
run: git clone https://github.com/opentensor/btwallet.git
- name: Checkout PR branch in Wallet repo
working-directory: ${{ github.workspace }}/btwallet
run: |
git fetch origin ${{ github.event.pull_request.head.ref }}
git checkout ${{ github.event.pull_request.head.ref }}
echo "Current branch: $(git rev-parse --abbrev-ref HEAD)"
- name: Build and install Rust Bittensor Wallet package
working-directory: ${{ github.workspace }}
run: |
source ${{ github.workspace }}/venv/bin/activate
maturin develop
- name: Debug test files directory
run: |
ls -la ${{ github.workspace }}/bittensor/tests/e2e_tests
shell: bash
- name: Find e2e test files
id: get-tests
run: |
test_files=$(find ${{ github.workspace }}/bittensor/tests/e2e_tests -name "test*.py" | jq -R -s -c 'split("\n") | map(select(. != ""))')
echo "Detected test files: $test_files"
echo "::set-output name=test-files::$test_files"
shell: bash
- name: Clone Subtensor repo
working-directory: ${{ github.workspace }}
run: git clone https://github.com/opentensor/subtensor.git
- name: Checkout Subtensor repo to `devnet-ready` branch
working-directory: subtensor
run: git checkout devnet-ready
- name: Run Bittensor SDK e2e test
working-directory: ${{ github.workspace }}
run: |
source ${{ github.workspace }}/venv/bin/activate
LOCALNET_SH_PATH="${{ github.workspace }}/subtensor/scripts/localnet.sh" pytest ${{ matrix.test-file }} -s