Skip to content

Add baedeker workflow - in progress #42

Add baedeker workflow - in progress

Add baedeker workflow - in progress #42

name: Finney Data Genesis
concurrency:
group: check-rust-${{ github.ref }}
cancel-in-progress: true
on:
## Allow running workflow manually from the Actions tab
workflow_dispatch:
inputs:
javascriptCode:
description: "Enter JavaScript code to execute"
required: false
type: textarea
verbose:
description: "Output more information when triggered manually"
required: false
default: ""
push:
branches:
- ci/add-baedeker-job
env:
CARGO_TERM_COLOR: always
VERBOSE: ${{ github.events.input.verbose }}
jobs:
# install-baedeker:
# name: install-baedeker
# runs-on: SubtensorCI
# strategy:
# matrix:
# rust-branch:
# - stable
# rust-target:
# - x86_64-unknown-linux-gnu
# # - x86_64-apple-darwin
# os:
# - ubuntu-latest
# # - macos-latest
# include:
# - os: ubuntu-latest
# # - os: macos-latest
# env:
# RELEASE_NAME: development
# # RUSTFLAGS: -A warnings
# RUSTV: ${{ matrix.rust-branch }}
# RUST_BACKTRACE: full
# RUST_BIN_DIR: target/${{ matrix.rust-target }}
# SKIP_WASM_BUILD: 1
# TARGET: ${{ matrix.rust-target }}
# steps:
# - name: Checkout Baedeker repository
# uses: actions/checkout@v3
# with:
# repository: 'UniqueNetwork/baedeker'
# path: 'baedeker'
# - name: Install Rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# profile: minimal
# override: true
# - name: Build baedeker
# run: |
# cd baedeker
# cargo build --release
# - name: Prepare binary for artifact upload
# run: |
# mkdir -p ${{ github.workspace }}/bin
# cp ./baedeker/target/release/baedeker ${{ github.workspace }}/bin/
# chmod +x ${{ github.workspace }}/bin/baedeker
# - name: Upload baedeker binary as an artifact
# uses: actions/upload-artifact@v3
# with:
# name: baedeker-binary
# path: ${{ github.workspace }}/bin/baedeker
# download-finney-state:
# needs: install-baedeker
# runs-on: SubtensorCI
# strategy:
# matrix:
# rust-branch:
# - stable
# rust-target:
# - x86_64-unknown-linux-gnu
# # - x86_64-apple-darwin
# os:
# - ubuntu-latest
# # - macos-latest
# include:
# - os: ubuntu-latest
# # - os: macos-latest
# env:
# RELEASE_NAME: development
# # RUSTFLAGS: -A warnings
# RUSTV: ${{ matrix.rust-branch }}
# RUST_BACKTRACE: full
# RUST_BIN_DIR: target/${{ matrix.rust-target }}
# SKIP_WASM_BUILD: 1
# TARGET: ${{ matrix.rust-target }}
# steps:
# - name: Check-out repository under $GITHUB_WORKSPACE
# uses: actions/checkout@v4
# - name: Download baedeker binary
# uses: actions/download-artifact@v3
# with:
# name: baedeker-binary
# path: bin
# - name: Execute baedeker
# run: |
# chmod +x bin/baedeker
# RUST_LOG=info bin/baedeker --spec=docker -J.baedeker/vendor/ --generator=docker_compose=.baedeker/.bdk-env --generator=docker_compose_discover=.baedeker/.bdk-env/discover.env --secret=file=.baedeker/.bdk-env/secret --tla-str=relay_spec=rococo-local --input-modules='lib:baedeker-library/ops/nginx.libsonnet' --input-modules='lib:baedeker-library/ops/devtools.libsonnet' --tla-str=repoDir=$(realpath .baedeker/..) .baedeker/forkless-data.jsonnet --tla-str=forked_spec=subtensor --tla-str=fork_source=wss://entrypoint-finney.opentensor.ai .baedeker/rewrites.jsonnet
# - name: Prepare genesis with data for artifact upload
# run: |
# mkdir -p ${{ github.workspace }}/finney-spec
# cp .baedeker/.bdk-env/specs/subtensor.json ${{ github.workspace }}/finney-spec/
# - name: Prepare secrets for artifact upload
# run: |
# mkdir -p ${{ github.workspace }}/finney-spec
# mkdir -p ${{ github.workspace }}/finney-spec/secret
# cp -r .baedeker/.bdk-env/secret/* ${{ github.workspace }}/finney-spec/secret
# - name: Upload spec and secrets as an artifact
# uses: actions/upload-artifact@v3
# with:
# name: finney-state
# path: ${{ github.workspace }}/finney-spec/
# runs localnet with finney state
run-local-chain:
# needs: download-finney-state
name: run local chain
runs-on: SubtensorCI
strategy:
matrix:
rust-branch:
- stable
rust-target:
- x86_64-unknown-linux-gnu
# - x86_64-apple-darwin
os:
- ubuntu-latest
# - macos-latest
include:
- os: ubuntu-latest
# - os: macos-latest
env:
RELEASE_NAME: development
# RUSTFLAGS: -A warnings
RUSTV: ${{ matrix.rust-branch }}
RUST_BACKTRACE: full
RUST_BIN_DIR: target/${{ matrix.rust-target }}
SKIP_WASM_BUILD: 1
TARGET: ${{ matrix.rust-target }}
steps:
- name: Check-out repository under $GITHUB_WORKSPACE
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
- name: Install Rust ${{ matrix.rust-branch }}
uses: actions-rs/[email protected]
with:
toolchain: ${{ matrix.rust-branch }}
components: rustfmt, clippy
profile: minimal
- name: Utilize Rust shared cached
uses: Swatinem/[email protected]
with:
key: ${{ matrix.os }}-${{ env.RUST_BIN_DIR }}
# - name: Download finney clone genesis and secrets
# uses: actions/download-artifact@v3
# with:
# name: finney-state
# path: finney-spec
# - name: Copy secrets and spec from artifacts
# run: |
# mkdir -p .baedeker/.bdk-env
# mkdir -p .baedeker/.bdk-env/specs
# mkdir -p .baedeker/.bdk-env/secret
# cp finney-spec/subtensor.json .baedeker/.bdk-env/specs
# cp -r finney-spec/secret/* .baedeker/.bdk-env/secret
- name: Set up Docker Compose
run: |
# Install Docker Compose if not already installed (GitHub hosted runners usually have it installed)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- name: Run localnet with docker compose
run: |
mkdir -p target
docker-compose -f docker-compose-baedeker.yml up -d
- name: Runtime upgrade
working-directory: .baedeker/util
run: |
ls -la
ls -la ..
ls -la ../..
ls -la ../../target
ls -la ../../target/release
yarn install
../../scripts/wait_first_block_local.sh
echo "Executing runtime upgrade"
node runtimeUpgrade.js
# check that runtime upgrade happened (spec version updated)
# Wait for new blocks after upgrade
# Balance transfer test
# need process exit from JS, it's not exiting
# see how to run custom JS with this job (msg from Sam J.)
# epoch test: Set subnet1 tempo to 10 blocks
# - wait for OTF hotkey to receive rewards
# - check block times
# feature for testing hotkey tempos (talk to Samuel - maybe add to fast-blocks)
# - add childkey test