Skip to content

Support more use cases for validation #631

Open

Description

@erichaagdev

It is sometimes the case that a user will want to customize the validation done by the scripts when running in an automated environment to something other than executed_cacheable_tasks == 0.

A common use case is the user has one or more known cache misses they want to exclude from the assertion. More recently we had a case where someone wanted to fail Gradle experiment 1 if any tasks re-executed, but this isn't available out-of-the-box.

What I recommend doing in these scenarios is:

  1. Do not include --fail-if-not-fully-cacheable in the validation workflows
  2. Add a follow up step to the job that calls the API and performs the desired validation using a tool like jq to parse the response

This isn't complicated, but does require the user to parse the CSV in the .data folder for the Build Scan ID, build the request (including authorization if necessary), and make the HTTP request.

However, the scripts already call the API to grab the attributes and build cache performance build models to do its own assertions. We should consider additionally writing these responses out to the corresponding experiment directory under the .data folder such that anyone requiring a tailored validation could do so more easily.

We should also consider doing #619 at the same time as these both make the custom validation use case easier.

Finally, we should use this ticket to keep track of any other use cases.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions