diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index 188d09d9..8515a032 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -51,6 +51,11 @@ jobs: env: ETH_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }} CI_FORK_ETH_RPC_URL: ${{ secrets.RPC_URL_ETHEREUM_FORK || vars.RPC_URL_ETHEREUM_FORK || '' }} + CI_FORK_ARB_RPC_URL: ${{ secrets.CI_FORK_ARB_RPC_URL || vars.CI_FORK_ARB_RPC_URL || '' }} + CI_FORK_BASE_RPC_URL: ${{ secrets.CI_FORK_BASE_RPC_URL || vars.CI_FORK_BASE_RPC_URL || '' }} + CI_FORK_BASE_SEPOLIA_RPC_URL: ${{ secrets.CI_FORK_BASE_SEPOLIA_RPC_URL || vars.CI_FORK_BASE_SEPOLIA_RPC_URL || '' }} + CI_FORK_FLARE_RPC_URL: ${{ secrets.CI_FORK_FLARE_RPC_URL || vars.CI_FORK_FLARE_RPC_URL || '' }} + CI_FORK_POLYGON_RPC_URL: ${{ secrets.CI_FORK_POLYGON_RPC_URL || vars.CI_FORK_POLYGON_RPC_URL || '' }} ETHERSCAN_API_KEY: ${{ secrets.EXPLORER_VERIFICATION_KEY }} run: nix develop -c ${{ matrix.task }} diff --git a/test/lib/deploy/LibMetaBoardDeploy.t.sol b/test/lib/deploy/LibMetaBoardDeploy.t.sol index 28b73040..e64ba24f 100644 --- a/test/lib/deploy/LibMetaBoardDeploy.t.sol +++ b/test/lib/deploy/LibMetaBoardDeploy.t.sol @@ -24,4 +24,35 @@ contract LibMetaBoardDeployTest is Test { assertEq(address(metaBoard).codehash, LibMetaBoardDeploy.METABOARD_DEPLOYED_CODEHASH); } + + function checkProdDeployment(string memory envVar) internal { + vm.createSelectFork(vm.envString(envVar)); + address deployed = LibMetaBoardDeploy.METABOARD_DEPLOYED_ADDRESS; + assertTrue(deployed.code.length > 0, string.concat("MetaBoard not deployed: ", envVar)); + assertEq( + deployed.codehash, + LibMetaBoardDeploy.METABOARD_DEPLOYED_CODEHASH, + string.concat("MetaBoard codehash mismatch: ", envVar) + ); + } + + function testProdDeployArbitrum() external { + checkProdDeployment("CI_FORK_ARB_RPC_URL"); + } + + function testProdDeployBase() external { + checkProdDeployment("CI_FORK_BASE_RPC_URL"); + } + + function testProdDeployBaseSepolia() external { + checkProdDeployment("CI_FORK_BASE_SEPOLIA_RPC_URL"); + } + + function testProdDeployFlare() external { + checkProdDeployment("CI_FORK_FLARE_RPC_URL"); + } + + function testProdDeployPolygon() external { + checkProdDeployment("CI_FORK_POLYGON_RPC_URL"); + } }