robinhood-chain 0.8.2

Robinhood Chain API SDK (EVM, chain id 4663) — KOL trade intelligence, token discovery & launch-bundle detection, deployer reputation, the DEX trade tape, and the four push rule engines (copy-trade, price alerts, KOL coordination, first touches). Same msk_ key, bundled into every MadeOnSol tier at https://madeonsol.com/pricing
Documentation
name: rust
# Compiles + packages the crate in the cloud, and (on a version tag) publishes to
# crates.io.
#
# `build` runs on every push/PR/dispatch (compile + test + dry-run publish).
# `publish` runs ONLY on a `v*` tag push or manual dispatch, and ONLY after
# `build` is green — it does the real `cargo publish` using the CRATES_TOKEN
# repo secret (Settings → Secrets and variables → Actions → New repository secret,
# name CRATES_TOKEN, value = a crates.io API token scoped to publish-update).
# Tag a release with `git tag vX.Y.Z && git push origin vX.Y.Z` and it self-publishes.
on:
  push:
    branches: [main, master]
    tags: ['v*']
  pull_request:
  workflow_dispatch:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - name: Build (debug)
        run: cargo build --verbose
      - name: Compile all targets (lib + tests + examples, no run)
        run: cargo check --all-targets --verbose
      - name: Test
        run: cargo test --verbose
      - name: Verify it packages + builds for publish
        run: cargo publish --dry-run --verbose

  publish:
    # Real publish to crates.io. Only on a version tag or a manual run, and only
    # if `build` passed. A no-op-with-error if the version already exists on
    # crates.io (cargo publish refuses to overwrite) — safe to re-run.
    needs: build
    if: ${{ startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - name: cargo publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_TOKEN }}
        run: cargo publish --verbose