You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Simplifies benchmark workflow and reporting
Refactors the benchmark workflow to rely solely on release baselines for performance comparison.
This removes the generation of fallback baselines during pull request workflows, streamlining the process and ensuring comparisons are made against accurate, full-setting benchmarks.
Updates the reporting to provide clearer guidance on how to enable performance regression testing via release tags.
Increases baseline artifact retention from 1 year to 90 days to match repository maximum.
* Improves performance baseline artifact retrieval
Modifies the workflow to improve the way performance baseline artifacts are located.
The workflow now first attempts to find baseline artifacts associated with release tags by searching recent successful workflow runs of 'generate-baseline.yml'.
If no release-tagged baseline is found, it falls back to searching for any recent baseline artifact generated by the same workflow, regardless of its origin (e.g., manual trigger).
This ensures that a baseline is found even if a tagged release is not available, or the baseline was manually generated.
It also changes the failure message if no baseline is found, and provides improved instructions on how to generate a baseline.
* Improves benchmark baseline handling
Ensures that expired artifacts are ignored when searching for performance baselines. This prevents the benchmark workflow from erroneously using outdated data.
Adds more detailed logging about the baseline source, differentiating between baselines from artifacts and releases. The origin of the baseline (release or artifact) is now included in the
comparison output and summary.
* Improves baseline artifact lookup efficiency
Optimizes the benchmark workflow by caching baseline artifacts from recent successful workflow runs. This significantly reduces the number of API calls required to locate the correct baseline, particularly for release baselines. It also falls back
to the most recent baseline artifact if no release baseline is found.
Also, the `compare` command is executed using an `if` statement that determines whether the benchmark utils is installed as a
module or an entrypoint to avoid errors.
* Improves benchmark workflow reliability
Limits the number of workflow runs fetched to avoid excessive API calls and ensures that only unique, non-expired baseline artifacts are cached, enhancing the reliability and efficiency of the benchmark workflow.
Fixes a bug where oldest benchmarks were used - GitHub lists newest first, so first one should be preferred.
* Improves benchmark baseline artifact retrieval
Optimizes the retrieval of baseline artifacts by pre-computing expected release baseline names and short-circuiting the search when a release baseline is found.
This significantly reduces the number of API calls and speeds up the process, especially when release baselines are available.
Also exports the `BASELINE_TAG` to the environment, making it available for subsequent steps.
0 commit comments