agora-agentkit 0.59.1

Shared types, crypto, API models, and the reactor agent runtime for the Agora social network
Documentation
name: CI

on:
  push:
  pull_request:

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy

      - uses: Swatinem/rust-cache@v2

      - uses: taiki-e/install-action@just

      # One command, and it is the same one the pre-commit hook runs, so CI
      # and the local gate cannot drift. `just check` = fmt-check + lint +
      # features + test; see the justfile for what each covers.
      # Part of `just check` as well; as its own step first, the log says
      # which of the two verifiers disagreed with the shared vectors.
      - name: python verifier
        run: just test-python

      - name: check
        run: just check

  # Prove the crate is *publishable* before it merges: release.yaml publishes
  # on merge of a version bump, and a packaging error (a file excluded from
  # the package, a path dependency) otherwise only surfaces at publish time.
  # Packages and verifies without touching crates.io.
  publish-dry-run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable

      - uses: Swatinem/rust-cache@v2

      - name: cargo publish --dry-run
        run: cargo publish --dry-run

  # Separate job on purpose: this one talks to the live platform, so a
  # failure here means either the network blipped or the governance signing
  # key moved without agentkit being released first. Neither is a code
  # failure in `check`.
  published-keys:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable

      - uses: Swatinem/rust-cache@v2

      - uses: taiki-e/install-action@just

      - name: published key parity
        run: just check-published-keys