Files
crank/scripts
github-ops 5970db5449
Deploy / deploy (push) Successful in 30s
CI / Rust Checks (push) Successful in 5m13s
CI / UI Checks (push) Successful in 5s
CI / Deployment Manifests (push) Successful in 3s
CI / Frontend E2E (push) Successful in 4m34s
Add Rust workspace boundary check
2026-06-20 20:55:55 +00:00
..
2026-06-20 20:55:55 +00:00

Scripts

staging-smoke.sh

Post-deploy smoke helper для staging/production-like окружений.

./scripts/staging-smoke.sh https://crank.example.com

authenticated-staging-smoke.sh

Browser-authenticated smoke helper.

Обязательные переменные:

  • CRANK_STAGING_ADMIN_EMAIL
  • CRANK_STAGING_ADMIN_PASSWORD
CRANK_STAGING_ADMIN_EMAIL=owner@example.com \
CRANK_STAGING_ADMIN_PASSWORD=secret \
./scripts/authenticated-staging-smoke.sh https://crank.example.com

authenticated-product-smoke.sh

Authenticated product smoke helper. Создает временную REST operation на внутренний admin-api health endpoint, публикует агента, выпускает API-ключ и проверяет MCP tools/list / tools/call. Внешние публичные API не используются.

Обязательные переменные:

  • CRANK_STAGING_ADMIN_EMAIL
  • CRANK_STAGING_ADMIN_PASSWORD
CRANK_STAGING_ADMIN_EMAIL=owner@example.com \
CRANK_STAGING_ADMIN_PASSWORD=secret \
./scripts/authenticated-product-smoke.sh https://crank.example.com

По умолчанию временные сущности удаляются после успешной проверки. Для отладки можно оставить их в workspace:

CRANK_PRODUCT_SMOKE_KEEP_ASSETS=1 ./scripts/authenticated-product-smoke.sh https://crank.example.com

staging-note-block.sh

Генерирует markdown-блок для docs/staging-regression-notes.md после реального staging pass.

./scripts/staging-note-block.sh crank.example.com abc1234 "operator" partial

load-openbao-env.sh

Логинится в OpenBao через AppRole и выгружает deploy/runtime secrets в локальный shell env file.

Обязательные переменные:

  • BAO_ADDR
  • BAO_ROLE_ID
  • BAO_SECRET_ID
  • OPENBAO_APP

Опционально:

  • OPENBAO_ENV_FILE, default .openbao-env

Скрипт читает KV v2 secrets из mount ci:

  • shared/registry
  • shared/deploy-ssh
  • projects/${OPENBAO_APP}/deploy
  • projects/${OPENBAO_APP}/runtime

Также он создает workflow-compatible aliases:

  • REGISTRY_USERNAME -> DEPLOY_REGISTRY_USER
  • REGISTRY_PASSWORD -> DEPLOY_REGISTRY_TOKEN

check-rust-code-health.sh

Проверяет базовые правила сопровождаемости Rust-кода:

  • новые .rs файлы не больше 1000 строк;
  • существующие крупные файлы не должны расти сверх текущего baseline;
  • крупные inline test modules запрещены вне legacy allowlist.
./scripts/check-rust-code-health.sh

check-rust-boundaries.sh

Проверяет направление зависимостей между Rust workspace crates:

  • приложения из apps/* могут зависеть от crates, но не от других приложений;
  • crates не должны зависеть от приложений;
  • crank-core не зависит от runtime, registry и adapters;
  • crank-registry не зависит от runtime и adapters;
  • crank-runtime не зависит от registry.
./scripts/check-rust-boundaries.sh

check-community-scope.sh

Проверяет, что в community-репозиторий не попали функции и тексты за пределами REST -> MCP сценария.

./scripts/check-community-scope.sh

Unit-тесты checker-а лежат в tests/unit:

python3 -m unittest discover -s tests/unit