Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dify test infrastructure

Public test timing baselines for langgenius/dify, maintained separately so that statistics do not grow the application repository's Git history.

generated-stats/stats/test-times.json maps repository-relative Python test files to summed setup/call/teardown seconds on Linux / Python 3.12. Dify downloads this file anonymously and freezes one assignment plan for all CI shards. A missing or unavailable baseline falls back to round-robin file allocation.

The workflow runs every hour (at minute 05 UTC) and reads the latest 100 updated, closed PRs targeting Dify main, keeps merged PRs, and selects up to five distinct successful Main CI runs with both unexpired timing artifacts. For each PR, it prefers a merge-group run whose SHA exactly matches the merged commit, falling back to the PR head when no complete merge-group observation is available. This includes the final measurements taken against the merge queue's base without trusting observations from unmerged queue entries. A run is sampled only once, even when it is associated with multiple merged PRs.

Samples are ordered by CI start time, not PR merge time. The updater averages observations per file, retaining the newest observed checkout's file set. Only merged PRs contribute automatically. Neither source code nor artifact contents are executed. metadata.json records the exact source PRs, events, run times, and runs. When no observations are available, the existing baseline is preserved. Artifacts currently expire after seven days.

The initial baseline is explicitly marked as a bootstrap from validated PR #42593 CI, pending that PR's merge. It will be replaced by merged-PR observations once available. The updater does not accept arbitrary unmerged PRs for publication.

The updater uses GitHub CLI and Python's standard library. Its workflow token writes only this repository. To check access to Dify artifacts without publishing, run the manual workflow with verify-run set to a successful Dify CI run ID.

Run tests with python3 -m unittest discover -s tests -v.

About

Shared CI test timing statistics and maintenance workflows for Dify

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages