deployment/environment/devenv/README.md
This package is used to create ephemeral environment for local/CI testing. It sets up an environment with local Docker containers running Chainlink nodes and a job distributor. It can either create new simulated private Ethereum network containers or connect to existing testnets/mainnets.
The tests created with this environment are run as end-to-end integration smoke tests.
Pre-requisites:
To run tests, you need to set up the testconfig following the testconfig setup instructions. The testconfig specifies the details of the different configurations to set up the environment and run the tests. Generally, tests are run with the default config unless overridden by product-specific config.
There are additional secret configuration parameters required by the devenv environment that are not stored in the testconfig.
These are read from environment variables. For example, Chainlink image, Job-Distributor image, etc.
All such environment variables are listed in the sample.env file.
You can create a .env file in the same directory of the test and set the required environment variables.
To run tests with existing testnet/mainnet, set up the testconfig with the details of the testnet/mainnet networks.
Following the integration-test testconfig framework,
create a new overrides.toml file with testnet/mainnet network details and place it under any location in the
integration-tests directory.
By default, tests are run with private Ethereum network containers set up in the same Docker network as
the Chainlink nodes and job distributor. To run tests against existing testnet/mainnet,
set the selected_network field in the testconfig with the specific network names.
For example, if running tests with Sepolia, Avax, and Binance testnets,
copy the contents of sepolia_avax_binance.toml
to the overrides.toml file.
Before running the test, ensure that RPC and wallet secrets are set as environment variables. Refer to the environment variables pattern in the sample.env file to provide necessary secrets applicable to the network you are running the tests against:
E2E_TEST_<networkName>_WALLET_KEY_<sequence_number>E2E_TEST_<networkName>_RPC_HTTP_URL_<sequence_number>E2E_TEST_<networkName>_RPC_WS_URL_<sequence_number>Now you are all set to run the tests with the existing testnet/mainnet.