Files
linea-monorepo/e2e
jonesho f29199e7bf feat: added FinalizedTagUpdater plugin implementation and workflow (#3752)
* feat: added FinalizedTagUpdater plugin implementation and workflow

* feat: implemented finalized block update logic and updated docker image and java package tags

* feat: set finalized-tag-updater version back to 0.0.1 and update coordinator config toml for traces-api-version-v2 as v0.3.0-rc2

* feat: moved jreleases.yml into sub folder

* feat: added JRELEASER_USER_HOME pointing to the sub folder

* feat: updated main.yml for filtering finalized-tag-updater changes

* feat: updated main.yml for filtering finalized-tag-updater changes

* feat: updated github-release.yml for jreleaser arguments

* feat: updated github-release.yml for jreleaser arguments with git root search

* feat: removed unused pipeline file and updated filter change file list and updated traces-api image

* feat: updated e2e test for more reliable way to check the result

* feat: updated asset tag with finalized-tag-updater prefix

* feat: changes for PR review

* feat: updated docker compose file for linea-sequencer plugin update

* feat: added e2e tests for finalized-tag-updater in github pipeline

* feat: updated e2e tests for finalized-tag-updater

* feat: added env var in  e2e test pipeline for finalized-tag-updater test

* feat: used finalized-tag-updater in the default local stack and updated the plugin to better handle errors

* feat: updated sequencer run command

* feat: fixed coordinator unit tests

* feat: changed the finalized tag update e2e test for no finalization on L1 case

* feat: updated error handling in FinalizationUpdatePoller and updated linea-tracer plugin version
2024-08-22 00:42:37 +08:00
..
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00
2024-07-31 18:17:20 +02:00

End to end tests

Setup

Run pnpm install to setup typechain

Run make fresh-start-all from root directory to spin up local environment

Run tests

ENV Command Description
Local pnpm run test:e2e:local Uses already running docker environment and deployed smart contracts
DEV pnpm run test:e2e:dev Uses DEV env, may need to update constants in constants.dev.ts
UAT pnpm run test:e2e:uat Uses UAT env, may need to update constants in constants.uat.ts

Remote workflows

Workflow options:

  • e2e-tests-with-ssh - Enable to run Setup upterm session step, manually ssh into the github actions workflow using the steps output, can be used to debug containers.
    • The step will output a string used to connect to the workflow.
    • Example: ssh XTpun7OCRZMgaCZkiHqU:MWNlNmQ0OGEudm0udXB0ZXJtLmludGVybmFsOjIyMjI=@uptermd.upterm.dev
    • After connecting create a new file called continue in the root directory: touch continue
  • e2e-tests-logs-dump - Enable to print logs after e2e tests have ran

Debugging test in vscode

Install the vscode-jest plugin and open zkevm-monorepo/e2e/ directory. Use the following config in zkevm-monorepo/e2e/.vscode/settings.json

{
  "jest.autoRun": { "watch": false },
  "jest.jestCommandLine": "pnpm run test:e2e:vscode --",
}

and the following config in zkevm-monorepo/e2e/.vscode/launch.json

{
    "configurations": [
        {
            "type": "node",
            "name": "vscode-jest-tests.v2",
            "request": "launch",
            "program": "${workspaceFolder}/node_modules/.bin/jest",
            "args": [
                "--config",
                "./jest.vscode.config.js",
                "--detectOpenHandles",
                "--runInBand",
                "--watchAll=false",
                "--testNamePattern",
                "${jest.testNamePattern}",
                "--runTestsByPath",
                "${jest.testFile}"
            ],
            "cwd": "${workspaceFolder}",
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "disableOptimisticBPs": true,
            "windows": {
                "program": "${workspaceFolder}/node_modules/jest/bin/jest"
            }
        }
    
    ]
}

Now you should be able to run and debug individual tests from the Testing explorer tab.