Skip to content

Engine version matrix: run one snippet against several engine builds #36

Description

@pavlof01

Context

Every run goes to one build of one engine. Questions like "when did this stop deoptimising?", "was this bytecode different in V8 12?", "does Hermes still emit this in the latest release?" cannot be asked at all. Engine base images are already independent (engines/dockerfiles/, published under pavlof01/*), so a version axis is an infrastructure question, not an application rewrite.

Proposal

  • Tag engine base images by engine version rather than only :latest, and let a deployment declare a set of versions per engine.
  • Route by version: POST /api/run takes an optional engineVersion, defaulting to the current one; unknown versions 400 with the list of available ones.
  • GET /api/engines reports the available versions per engine (depends on the engine-version reporting issue).
  • UI: a version selector next to the engine tab, and a diff mode across two versions of the same engine.

Cost

This multiplies pods and disk on a single-node k3s host. Worth scoping as "two V8 builds" first and measuring before generalising.

Acceptance criteria

  • Two V8 versions serve simultaneously and produce independently cached results.
  • Cache keys include the version; a version change never serves a stale dump.
  • Node disk usage after adding the second build is documented in infra/README.md.

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

    backendAPI, sandbox, engine integrationenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions