Skip to content

[CI]: Restore pre-merge performance reporting or remove the stale PR-template promise #313

Description

Problem

.github/pull_request_template.md says the Performance Numbers workflow:

  • re-runs benchmarks on every pull_request change; and
  • posts refreshed numbers as a non-blocking PR comment.

The current .github/workflows/perf-numbers.yml has only push and workflow_dispatch triggers and defines no PR-comment job. A feature-ref manual dispatch runs the correct code and safely skips the default-branch commit job, but its benchmark results exist only in downloadable artifacts and are invisible on the PR.

This surfaced on #312 / #289, whose acceptance criterion requires Standalone IL2CPP evidence before deciding whether to keep a dispatch optimization.

Desired outcome

Choose and enforce one coherent contract:

  1. Restore a safe pre-merge benchmark path that publishes a non-blocking delta table to the originating PR; or
  2. Remove the stale PR-template promise and document the supported manual feature-ref workflow plus how reviewers obtain the artifact deltas.

A controlled manual path may be preferable to running licensed benchmarks for every PR. If so, accept an explicit PR number or resolve the PR from the feature ref, post the comment with minimal permissions, and keep the existing default-branch-only guard on perf-doc commits.

Safety and coverage

  • Do not expose Unity license or App credentials to untrusted fork code.
  • Do not allow feature-ref/manual runs to commit performance docs to the default branch.
  • Preserve the organization build lock and cleanup guarantees.
  • Add a structural test so the PR template cannot claim automatic PR reporting unless the workflow actually has both the matching trigger and reporting job.
  • Verify the chosen path against a draft PR and confirm the delta table links to the exact benchmark run and commit.

Related

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