plugin-contract-tests

Execute Docker-based contract tests against edited miner Go plugins.

49|15|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/block/proto-fleet --skill plugin-contract-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: plugin-contract-tests
Source: https://github.com/block/proto-fleet/tree/main/.claude/skills/plugin-contract-tests
Command: npx skills add https://github.com/block/proto-fleet --skill plugin-contract-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Validating miner plugin contracts across edits is error-prone and time-consuming when done manually.

Core Features & Use Cases

  • Docker-based contract testing across plugins
  • Builds and runs isolated contract tests for edited plugins
  • Detects regressions before CI by running the contract suite locally

Quick Start

Run the contract suite against the edited plugin and report any regressions.

Frequently Asked Questions about plugin-contract-tests

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate Go miner plugins for contract regressions locally?

To validate Go miner plugins for contract regressions locally, this Skill coordinates a Docker-based test harness that builds the edited plugins and runs the contract suite in isolated containers to detect issues before CI.

What are contract tests for miner plugins and when should I run them?

Contract tests for miner plugins are validation checks that ensure driver compliance across edits. You should run them when editing miner plugin code under plugin/proto, plugin/antminer, or plugin/virtual directories, or when updating test fixtures.

Does this contract testing suite require Docker to run Go plugin validations?

Yes, this contract testing suite requires Docker to run Go plugin validations, as it coordinates a Docker-based test harness to build the plugins and execute the contract tests in isolated containers for accurate regression detection.

Can I test specific miner plugin drivers like antminer or virtual separately?

Yes, you can test specific miner plugin drivers like antminer or virtual separately by editing the corresponding plugin code under those directories, which triggers the contract suite to validate regressions across the edited plugin drivers.

Why does my miner plugin contract test fail in CI but pass locally?

If your miner plugin contract test fails in CI but passes locally, running this Skill's Docker-based test harness locally before pushing can detect regressions early by building Go plugins and running the contract suite in isolated containers.

Do I need to update test fixtures in tests/plugin-contract when modifying miner plugins?

Yes, when modifying miner plugins you may need to update test fixtures in tests/plugin-contract, and this Skill will execute the contract suite against the edited plugins to detect any regressions across drivers.