**Motivation**
A recent internal infrastructure change includes renaming default host
instance on our dashboards.
**Description**
This PR allows our dashboards to easily default to the new
infrastructure host instance for display.
**Motivation**
All networks are post-electra now and transition period is completed,
which means due to [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110)
we no longer need to process deposits via eth1 bridge as those are now
processed by the execution layer.
This code is effectively tech debt, no longer exercised and just gets in
the way when doing refactors.
**Description**
Removes all code related to eth1 bridge mechanism to include new
deposits
- removed all eth1 related code, we can no longer produce blocks with
deposits pre-electra (syncing blocks still works)
- building a genesis state from eth1 is no longer supported (only for
testing)
- removed various db repositories related to deposits/eth1 data
- removed various `lodestar_eth1_*` metrics and dashboard panels
- deprecated all `--eth1.*` flags (but kept for backward compatibility)
- moved shared utility functions from eth1 to execution engine module
Closes https://github.com/ChainSafe/lodestar/issues/7682
Closes https://github.com/ChainSafe/lodestar/issues/8654
**Motivation**
Update the vitest to avoid using third party test pool.
**Description**
- Use latest vitest
- Remove custom process pool which we developed to run our tests in Bun
runtime
- Migrate test configs to latest version
- Update types
- Switch to playwright from webdriverio for browser tests performance,
which was due for long.
**Steps to test or reproduce**
- Run all tests
**Motivation**
Adds a bash script that allows one to launch up a local kurtosis testnet
based off of the changes made locally.
Might be useful to others -- if so, I can clean it up
<!-- Why is this PR exists? What are the goals of the pull request? -->
**Description**
```
# start a testnet with local changes
./scripts/kurtosis/run.sh start
# stop the testnet and cleanup
./scripts/kurtosis/run.sh stop
```
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
**Motivation**
Closes https://github.com/ChainSafe/lodestar/issues/7840, it seems that
newer versions of grafana replace variables with values picked during
manual import. This means if an external contributor that edits a
dashboard and follows our steps in contribution guideline it will still
keep the hard coded values and requires to manually revert them, which
is not a big deal but we should still make sure that external
contributor have as close to seamless experience when contributing to
dashboard as we do using the cloud instance with provisioned dashboards.
**Description**
Restore dashboard variable names and inputs during download
**Motivation**
Remove any unused or inactive codebase.
**Description**
Remove all unused eslint directives as we are using `biome` now.
**Steps to test or reproduce**
Run lint rules and all tests
**Motivation**
Vitest workspaces is feature to mimic the package manager workspaces for
the tests only.
It provides following benefits:
1. Minimize the need the bunch of config files at every package root
2. Consolidate vitest configuration in project groups
3. Use consistent test configuration for all projects in the monorepo
4. Providing consistent test environment for all packages
5. Speed up visual interaction with tests in the IDEs (e.g. Visual
Studio Code)
**Description**
- Remove all unnecessary config files
- Update package json scripts to use `--project` flag
Closes#7603
Now we have following test directories.
| Directory | Description | CurrentPreset | Old Preset |
|---|---|---|---|
| test/unit | Unit tests | minimal | Default export from `params`
package |
| test/unit-mainnet | Unit tests | mainnet | mainnet |
| test/e2e | End-to-End Tests | minimal | Default export from `params`
package |
| test/e2e-mainnet | End-to-End Tests | mainnet | Never existed before,
mixed up pattern in different packages |
| test/spec | Spec tests | minimal | Default export from `params`
package, but common perception among team was that it's running with
`minimal` |
| test/spec-mainnet` | Spec tests | mainnet | Never existed as
directory, but mixed up among packages |
| test/browser | Symlink to `unit` for packages which supports browsers
| minimal | Default export from `params` package |
| test/types | Types test | minimal | Default export from `params`
package |
**Steps to test or reproduce**
Run all tests
**Motivation**
Update vitest and browser engine.
**Description**
- Move root level shared configs to `configs` directory
- Update to vitest 3.x
- Migrate from `webdriverio` to `playwright` which is more stable and
recommended by Vitest.
**NOTE**
Reverted the `playwright` upgrade. See the comments.
d2a7af0308/configs/vitest.config.base.browser.ts (L41-L43)
**Steps to test or reproduce**
Run all tests
* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Fix all lint issues
* Fix formatting
* Add extension recomendation for vscode
* Enable recommended rules
* Enable rule noUselessSwitchCase
* Enable rule noUselessConstructor
* Fix the types
* Fix unit tests
* Enforce import extensions
* Update the cli command
* Enforce useConsistentMemberAccessibility
* Update rules
* Fix rules
* Upgrade biomejs to latest version
* Update the rules
* Update and format the config file
* Fix types break during merge
* Fix unused check
* Add comment for explicit-return-type
* Remove eslint file
* Add _e objects for empty catch blocks
* Update formatter config
* Fix formatting
* Revert "feat: use @chainsafe/blst directly (#6706)"
This reverts commit 66fe753cd7.
* Revert "feat: switch bls to napi rebuild (#6616)"
This reverts commit 97d9aa8b0c.
* Reorganize the code so it is accessible from one package
* Add support for browser build for lightclient
* Update the build config
* Improve the bls vite plugin
* Restructure the vite and vitest scripts
* Simplify vite config
* Remove unused polyfill
* Fix the doc lint error
* Add support for bundle test
* Update the package json files
* Add dist build to default build task
* Fix spelling in the docs
* Fix the lint error
* Fix type error
* Disable eslint errors
* Increase the timeout for bundle test
* Fix eslint bundle
* Fix lint warning
* Remove the unused config
* Add the default export to bundle
* Enable compression on th build
* Update packages/light-client/README.md
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Increase timeout for one test
* Optimize package build task
* Update the readme
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Variables using .env file
* Add env variable support to normal tests
* Fix the order of variables
* Update the order of jobs
* Export the varible using actions toolkit
* Update the workflow tasks
* Fix the sim workflow
* Add .env.test file support to tests
* Fix the lint
* Update the task description
* Move lodestar preset to env file
* Fix the directory path
* newline
* Update debugging spec tests section
* Update the env variable for preset
* Fix the path for setup files
* Update code as per feedback
* Fix the e2e variables
* Update doc
* Fix the bash script
* Fix sim geth runne
* Update the env file
* Fix e2e tests
* Update the script tasks
* Update the script tasks
* Add minimal for e2e tests
* Add minimal for e2e tests
* Update comments in preset tests
* Downgrade nethermind version
* Load env file in e2e env
* Add the issue link in env variable
* Update bash script for failsafe current dir
* Fix the mistaken genesis extension for el nodes
* Add missing capella wait for one test
* Downgrade the geth version
* Update .env.test
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: implement BufferPool for PersistentCPStateCache
* fix: alloc vs allocUnsafe for BufferPool
* chore: conform to style guide
* feat: use using with Disposable object
* Add custom build target for beacon-node unit tests
* chore: address PR comments
---------
Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
* Add jest dependencies
* Convert beacon node unit tests to jest
* Convert all beacon unit tests to vitest
* Update dependencies
* Move all e2e tests to vitest
* Fix http but which was causing abort to not work
* Update the e2e script for the beacon-node
* Fix the e2e tests
* Update yarn dependencies
* Remove .only filter
* Fix lint and type errors
* Made close callbacks async
* Fix the test path
* Fix order of resource cleanup
* Fix the peer manager for agent version
* Fix failing unit test
* Update e2e workflow
* Add code coverage support for vitest
* Match the code coverage configuration to previous nyc config
* Fix the formatting for easy code review
* Add custom error messages to extremely confusing assertions
* Add custom matcher support in the vitest
* Update code with feedback
* Fix some regressions for prover
* Fix package export assertion for nested conditional exports
* Improve the exports for the package
* Fix the http agent for https
* Fix e2e tests
* chore!: use node 20 throughout monorepo
* Add yarn.lock
* Revert @types/node change
* Fix ts-node usage
* Add missed files
* Remove more ts-node-esm
* Update cross-fetch dependency
* Update @types/node to 20.4.2
* Use node version 20.4 in CI
* Revert "Use node version 20.4 in CI"
* skip tests that break in CI
* Update Dockerfile
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Check code ECONNRESET in Lighthouse health response
* Revert "Check code ECONNRESET in Lighthouse health response"
* Revert "Update Dockerfile"
This reverts commit e1f07be309.
* Revert CI from using node 20
* Revert "skip tests that break in CI"
This reverts commit d296b2f1a2.
* Fix the loader for few sim tests
* Update CI node version to 20
* Fix e2e test
* Remove try/catch from e2e test
* Consistently use node 20 in CI
* Fix missed 18.x reference in types readme
* Set node 20.x in readme
* Use node 18 in sim tests
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
* Update dashboards
* Use rate function
* Ensure to always use variables to match job names
* Run scripts/lint-grafana-dashboards.mjs
* Do not reassign target.expr
* Fix updating interval and job name matchers
* Run scripts/lint-grafana-dashboards.mjs
* Add rationale
* Update dashboards/lodestar_networking.json
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Add support for the CI env for e2e tests
* Update the port number e2e tests node
* Update the script
* Update the e2e script
* Stop the e2e tests env
* Update the script to stop env
* Add a timeout for port
* Redirect nohup output
* Redirect nohup output
* Update the process signal
* Move the run bash script to a file
* Remove the unwanted wait time
* Update the variaable name
* Update the script name
* Update the test env
* Update the e2e env to start from capella
* Increase the genesis delay
* Pass three epoch to fix the sync comittee availability
* Increase the wait epoch
* Wait for the 3rd epoch
* Increase timeout
* Add lodestar preset value
* Fix env variable
* Set the forks in incremental sequence
* Increase the timeout
* Move wait logic to test file
* Fix the geth version
* Allow to pass custom config to support custom network
* Fix lint error
* Add minimal preset for the e2e tests