Multi-Network Test Matrix Runner
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
The Multi-Network Test Matrix Runner is a developer tool that generates CI/CD test matrix configurations for running smart contract tests across multiple EVM networks. It takes a list of networks (with chain IDs), test commands, and environment variables, and produces platform-specific configuration files for GitHub Actions, CircleCI, or GitLab CI. This helps development teams automatically run their test suites against multiple networks in parallel, catching network-specific issues early in the development cycle.
HOW TO USE
Select your CI/CD platform (GitHub Actions, CircleCI, or GitLab CI). Enter a list of networks in the format "name:chainId" (one per line). Enter your test commands and any required environment variables. Click "generate matrix" to produce the configuration file. The tool generates a platform-specific configuration that will run your tests on each network in parallel (or sequentially, depending on the platform's capabilities). Download the generated file and place it in the appropriate directory for your CI/CD platform (.github/workflows/, .circleci/, or the repository root for GitLab CI).
TECHNICAL MECHANISM
The tool generates CI/CD configuration files using YAML-based templates for each supported platform. For GitHub Actions, it generates a workflow file with a matrix strategy that includes network names and chain IDs as matrix variables, allowing tests to run concurrently across all specified networks. For CircleCI, it generates a workflow with parallel job definitions for each network, using job parameters to pass network-specific context. For GitLab CI, it generates a pipeline with a template job extended by each network-specific job. The tool parses environment variables and injects them into the generated configuration, ensuring that RPC URLs, deployer keys, and other network-specific settings are available during test execution. Network-specific variables (NETWORK_NAME, CHAIN_ID) are automatically passed to each test run, enabling test scripts to adapt their behavior per network.
WHAT IT CANNOT SEE
The tool cannot actually run tests or execute deployments—it only generates configuration files. It cannot validate that test commands work on each network without execution. The tool cannot detect network-specific test failures before they occur. It cannot account for network-specific gas price variations or RPC endpoint differences. The tool cannot verify that the generated matrix will work with specific CI/CD platforms or that the environment variables are correctly set for each network. It cannot handle complex dependencies between test steps across networks. The tool cannot predict test execution time across multiple networks or account for network-specific rate limits.
PLEASE NOTE
This tool is designed for Ethereum Virtual Machine (EVM) compatible chains but works with any network by specifying the chain ID. The generated configurations assume a Node.js-based project with npm installed—adjust the commands for other language ecosystems. The tool provides a foundation for multi-network testing; users may need to customize the generated configurations for their specific CI/CD requirements. Always review generated files before committing them to your repository. The tool is intended for CI/CD pipelines and local development testing.