Skip to content

Publish performance benchmark outputs as durable release artifacts #429

Description

Context and request

Issue #404 defines baseline/candidate comparison and artifact persistence for performance regression checks, and issue #68 covers attaching module/docs outputs to releases. What is still missing is an explicit requirement that performance benchmark outputs themselves are published and retained as release-associated artifacts (not only transient workflow logs or ad-hoc local files).

Process-PSModule should provide a durable and discoverable artifact path for benchmark evidence so maintainers can audit released versions over time and correlate release decisions with measured performance.

Acceptance criteria

  • Performance benchmark outputs (raw benchmark data, normalized comparison input, and rendered comparison report) are produced in a documented artifact layout.
  • On release runs, benchmark outputs are attached to the corresponding GitHub Release as named assets.
  • Asset naming is deterministic and includes enough identity to map to release version and benchmark scope.
  • On non-release runs (PR/default-branch validation), the same benchmark outputs are uploaded as workflow artifacts with configured retention and no dependency on local runner files.
  • Workflow output (step summary and/or release notes link section) includes direct links to where benchmark artifacts can be downloaded.
  • Documentation explains where artifacts are stored, retention expectations, and how to retrieve historical benchmark evidence for a specific release.

Technical decisions


Implementation plan

  • Add/extend tests that assert benchmark artifact packaging and deterministic naming before workflow implementation changes.
  • Implement benchmark artifact packaging as a dedicated workflow output in the performance stage.
  • Publish packaged benchmark outputs to workflow artifacts for PR/default-branch runs with explicit retention settings.
  • Attach packaged benchmark outputs to GitHub Release assets on release runs.
  • Emit discoverability links in step summary and, when applicable, release notes.
  • Update Process-PSModule documentation with retrieval/retention guidance and examples.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions