Skip to content

nextest --partition integration #281

@TriplEight

Description

@TriplEight

--partition https://nexte.st/book/partitioning.html.
The idea is that the tests are divided (randomly with count and deterministically with hash) to run on the separate machines. This can be used for different platform-specific tests or just to scale horizontally.
The issue is that this command succeeds on each of the partitions, but certainly gives only the partial coverage.

There needs to be a way to collect only the llvm-cov-related instrumentation artifacts to merge them together in the second job and generate the coverage report. nextest's --archive-file does not entirely fit for the job (in #265 author receives the artifact from the previous job and runs tests and coverage from it.

  1. It doesn't assume that llvm-cov artifacts are getting into this archive because nextest generates it possibly without running the tests
  2. --archive-file is designed to run the tests from it, so it should exist before the tests are executed, and nextest does not support a lot of the test-running options for this flag too.

This is both a bug and a feature request, it would be nice to have an archive flag and the ability to generate a report from it for llvm-cov too.

Originally posted by @TriplEight in #271 (comment)


I've written some pipelines to test this behavior, there are much more details #274

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-nextestArea: nextest integration https://github.com/nextest-rs/nextestC-enhancementCategory: A new feature or an improvement for an existing one

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions