Skip to content

CI: run unit/integration tests for each crate of the workspace #1551

@dannywillems

Description

@dannywillems

When we made the patch 1549, we realized that we were not running all the unit and integrations tests of every crate in the CI. We only run the following:

The main reason is that when o1Labs took over the development of the Rust node, only these crates where tested in the CI, and we started from there. Over the weeks, we added more CI workflows, and realized that different tests were ignored, failing or flaky, see this meta-issue.

We would like to ensure that all existing tests are executed in the CI at each push/PR, and when we add a new test, it is actually executed in the CI. It has not been always the case, with, for instance, the fix for the bug 1464, implemented here. We noticed back then that the tests for the crate mina-node-native were not executed in the CI, see the patch 1549.

A patch to run all unit and integration tests has been started in 1550, but it hasn't been completed and it seems there are some failing tests.

To close this issue, we would like to finish the patch 1550 by:

  • ensuring that the CI workflow defined in tests.yaml is actually running the unit/integration tests for each crate, and each individual step is correctly configured. For instance, sqlite and sqlx must be properly configured for heartbeat-processors and some linking issues must be fixed, as for webrtc-sniffer.
  • fix the build issues if required - it is the case for mina-tree or p2p.
  • report in the meta issue [Meta issue] List of failing/empty/flaky tests #524 the failing tests. As part of the task, if the fix is easy and quick (a few minutes), the assignee can take the liberty of doing so.

Some libraries might be old, and unused for now, and we might want to get rid of it soon if we realize they are not useful. However, it would be handled in a follow-up work.

As part of this task, the assignee can suggest a new format to track the failing/ignoring/flaky tests in the meta issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    rustPull requests that update Rust codetestIssue related to testing

    Type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions