diff --git a/changelog.md b/changelog.md index e671a8b481..cb54361b2a 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,10 @@ ## Unreleased +### Tests + +* [1577](https://github.com/zeta-chain/node/pull/1577) - add chain header tests in E2E tests and fix admin tests + ### Features ### Fixes @@ -10,6 +14,10 @@ * [1588](https://github.com/zeta-chain/node/pull/1588) - fix chain params comparison logic * [1650](https://github.com/zeta-chain/node/pull/1605) - exempt (discounted) *system txs* from min gas price check and gas fee deduction +### Chores + +* [1585](https://github.com/zeta-chain/node/pull/1585) - Updated release instructions + ## Version: v12.0.0 ### Breaking Changes diff --git a/cmd/zetae2e/local/admin.go b/cmd/zetae2e/local/admin.go index 01e5d3ae8f..34900fbaf4 100644 --- a/cmd/zetae2e/local/admin.go +++ b/cmd/zetae2e/local/admin.go @@ -66,7 +66,7 @@ func adminTestRoutine( smoketests.TestUpdateBytecodeName, smoketests.TestDepositEtherLiquidityCapName, ); err != nil { - return fmt.Errorf("admim tests failed: %v", err) + return fmt.Errorf("admin tests failed: %v", err) } adminRunner.Logger.Print("🍾 admin tests completed in %s", time.Since(startTime).String()) diff --git a/cmd/zetae2e/local/bitcoin.go b/cmd/zetae2e/local/bitcoin.go index a27d619138..eaf700465e 100644 --- a/cmd/zetae2e/local/bitcoin.go +++ b/cmd/zetae2e/local/bitcoin.go @@ -59,7 +59,7 @@ func bitcoinTestRoutine( bitcoinRunner.WaitForMinedCCTX(txERC20Deposit) bitcoinRunner.SetupBitcoinAccount(initBitcoinNetwork) - bitcoinRunner.DepositBTC(false) + bitcoinRunner.DepositBTC(true) // run bitcoin test // Note: due to the extensive block generation in Bitcoin localnet, block header test is run first diff --git a/cmd/zetae2e/local/ethereum.go b/cmd/zetae2e/local/ethereum.go index 74a57a6470..90d6a35dfb 100644 --- a/cmd/zetae2e/local/ethereum.go +++ b/cmd/zetae2e/local/ethereum.go @@ -47,7 +47,7 @@ func ethereumTestRoutine( startTime := time.Now() // depositing the necessary tokens on ZetaChain - txEtherDeposit := ethereumRunner.DepositEther(false) + txEtherDeposit := ethereumRunner.DepositEther(true) ethereumRunner.WaitForMinedCCTX(txEtherDeposit) // run ethereum test diff --git a/cmd/zetae2e/local/local.go b/cmd/zetae2e/local/local.go index f1a723f26e..b31c6869d4 100644 --- a/cmd/zetae2e/local/local.go +++ b/cmd/zetae2e/local/local.go @@ -135,7 +135,11 @@ func localE2ETest(cmd *cobra.Command, _ []string) { } testStartTime := time.Now() - logger.Print("starting tests") + logger.Print("starting E2E tests") + + if testAdmin { + logger.Print("⚠️ admin tests enabled") + } // start timer go func() { diff --git a/contrib/localnet/orchestrator/smoketest/smoketests/test_pause_zrc20.go b/contrib/localnet/orchestrator/smoketest/smoketests/test_pause_zrc20.go index 5b6a9700b1..f3579990f2 100644 --- a/contrib/localnet/orchestrator/smoketest/smoketests/test_pause_zrc20.go +++ b/contrib/localnet/orchestrator/smoketest/smoketests/test_pause_zrc20.go @@ -28,7 +28,7 @@ func TestPauseZRC20(sm *runner.SmokeTestRunner) { if receipt.Status == 0 { panic("Vault approval should succeed") } - tx, err = sm.BTCZRC20.Approve(sm.ZevmAuth, vaultAddr, big.NewInt(1e18)) + tx, err = sm.USDTZRC20.Approve(sm.ZevmAuth, vaultAddr, big.NewInt(1e18)) if err != nil { panic(err) } @@ -93,23 +93,23 @@ func TestPauseZRC20(sm *runner.SmokeTestRunner) { } sm.Logger.Info("Operations all failed") - // Check we can still interact with BTC ZRC20 + // Check we can still interact with USDT ZRC20 sm.Logger.Info("Check other ZRC20 can still be operated") - tx, err = sm.BTCZRC20.Transfer(sm.ZevmAuth, sample.EthAddress(), big.NewInt(1e3)) + tx, err = sm.USDTZRC20.Transfer(sm.ZevmAuth, sample.EthAddress(), big.NewInt(1e3)) if err != nil { panic(err) } receipt = utils.MustWaitForTxReceipt(sm.Ctx, sm.ZevmClient, tx, sm.Logger, sm.ReceiptTimeout) if receipt.Status == 0 { - panic("BTC transfer should succeed") + panic("USDT transfer should succeed") } - tx, err = vaultContract.Deposit(sm.ZevmAuth, sm.BTCZRC20Addr, big.NewInt(1e3)) + tx, err = vaultContract.Deposit(sm.ZevmAuth, sm.USDTZRC20Addr, big.NewInt(1e3)) if err != nil { panic(err) } receipt = utils.MustWaitForTxReceipt(sm.Ctx, sm.ZevmClient, tx, sm.Logger, sm.ReceiptTimeout) if receipt.Status == 0 { - panic("BTC vault deposit should succeed") + panic("USDT vault deposit should succeed") } // Check deposit revert when paused diff --git a/readme.md b/readme.md index b9db6be3c2..a3a931f7fa 100644 --- a/readme.md +++ b/readme.md @@ -81,27 +81,27 @@ to [run the smoke test](./contrib/localnet/README.md). [Discord](https://discord.com/invite/zetachain) | [Telegram](https://t.me/zetachainofficial) | [Website](https://zetachain.com) -## Creating a Release for Mainnet -Creating a release for mainnet is a straightforward process. Here are the steps to follow: -### Steps - - Step 1. Open a Pull Request (PR): Begin by opening a PR from the release candidate branch (e.g., vx.x.x-rc) to the main branch. - - Step 2. Testing and Validation: Allow the automated tests, including smoke tests, linting, and upgrade path testing, to run. Ensure that these tests pass successfully. - - Step 3. Approval Process: Obtain the necessary approvals from relevant stakeholders or team members. - - Step 4. Merging PR: Once all requirements have been met and the PR has received the required approvals, merge the PR. The automation will then be triggered to proceed with the release. - -By following these steps, you can efficiently create a release for Mainnet, ensuring that the code has been thoroughly tested and validated before deployment. - -## Creating a Release for Testnet -Creating a release for testnet is a straightforward process. Here are the steps to follow: +## Creating a Release Candidate +Creating a release candidate for testing is a straightforward process. Here are the steps to follow: ### Steps - Step 1. Create the release candidate tag with the following format (e.g., vx.x.x-rc) ex. v11.0.0-rc. - Step 2. Once a RC branch is created the automation will kickoff to build and upload the release and its binaries. -By following these steps, you can efficiently create a release candidate for testnet for QA and validation. In the future we will make this automatically deploy to testnet when a -rc branch is created. -Currently, raising the proposal to deploy to testnet is a manual process via GitHub Action pipeline located in the infrastructure repo. +By following these steps, you can efficiently create a release candidate for QA and validation. In the future we will make this automatically deploy to a testnet when a -rc branch is created. +Currently, raising the proposal to deploy to testnet is a manual process via GovOps repo. + +## Creating a Release +After the Release Candidate has been fully tested, creating a final release for use on public networks is a straightforward process. Here are the steps to follow: + +### Steps + - Step 1. Open a Pull Request (PR): Begin by opening a PR from the release candidate branch (e.g., vx.x.x-rc) to the main branch. + - Step 2. Testing and Validation: Allow the automated tests, including E2E tests, linting, and upgrade path testing, to run. Ensure that these tests pass successfully. + - Step 3. Approval Process: Obtain the necessary approvals from relevant stakeholders or team members. + - Step 4. Merging PR: Once all requirements have been met and the PR has received the required approvals, merge the PR. The automation will then be triggered to proceed with the release. +By following these steps, you can efficiently create a release, ensuring that the code has been thoroughly tested and validated before deployment to public networks. ## Creating a Hotfix Release Creating a hotfix release is a straightforward process. Here are the steps to follow: