Lighthouse uses a self-hosted Gitlab CI server to run tests and deploy docs.
For security reasons, CI will only be run automatically for Lighthouse maintainers. Contributors without maintainer privileges will need to have CI triggered for them prior to a PR being merged.
You can see the full set of tests we run in the gitlab-ci.yml file. The following two commands should complete successfully before CI can pass:
$ cargo test --all --all-features $ cargo fmt --all --check
Note: Travis CI is also used, however it does not run the full test suite.
The ethereum/eth2.0-spec-tests repository contains a large set of tests that verify Lighthouse behaviour against the Ethereum Foundation specifications.
These tests are quite large (100's of MB), so we don't download them by
default. Developers should ensure they have downloaded these tests using the
Failures in these tests should prevent CI from passing.