Skip to content

RFC: Publish Tagged Test Implementations for Benchmarking #4

@msmith-techempower

Description

@msmith-techempower

Summary

  • Implement a version key in test implementation config.tomls
  • Remove Toolset implementation that builds Docker images from test implementation config.toml files on debug, verify, and benchmark modes
  • Formalize implementation that fetches Docker images from Dockerhub based on config.toml version key
  • Formalize CI/CD strategy for automatically publishing a new image/tag for a test implementation prior to merging changes from a pull request for a test implementation

Motivation

False-negatives often occur in verification of test implementations because of ephemeral failures (network issues, removed dependency versions, etc). This classification of failure can be avoided during a benchmark by capturing the success of the build of a Docker image by publishing it to Dockerhub, and relying on its existence at the time a benchmark requires it.

Drawbacks

  • Requires publishing a Docker image to Docker hub as an extra step to merging a pull request
  • Requires manual intervention in pull requests to ensure that a version has been updated when changes occur (for example, if a PR is opened where the version has not been updated, manual intervention from the reviewer is required to alert the contributor to it and request that update be made - read: more manual administration)
  • Requires the Docker image and tag are available at the time of a benchmark (read: for local benchmarking, a manual build and tag of the image is required beforehand; and, for benchmarking generally Dockerhub must be available)

Alternatives

  • Leave current implementation which builds a new image, possibly from local cache, on every benchmark

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