| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Add support for custom targets | 7 个月前 | |
Fix collector heartbeat suspending during long benchmark jobs The heartbeat loop performed two unbounded awaits per tick (pool connection acquisition and the UPDATE query). A pooled Postgres connection can go half-open while sitting idle for hours during a long benchmark; is_valid only checked is_closed(), which does no network round-trip, so the heartbeat task could pick up a dead connection and hang forever, permanently freezing the loop. Increasing runtime worker threads never helped because the job future runs on the block_on thread and does not compete with the heartbeat task for workers. - Bound each heartbeat round with a 30s timeout so a stuck round logs a warning and the loop keeps ticking; use MissedTickBehavior::Delay to avoid tick bursts after a stall. - Probe pooled Postgres connections with SELECT 1 (5s timeout) in is_valid, matching the SQLite behaviour, so stale connections are discarded on reuse instead of being handed out. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> | 2 个月前 | |
Refactor API and Database Interaction - Updated the database test context to directly pass port values instead of references. - Introduced a new module repos in the API to handle repository information. - Added structures for RepoInfo and Response in the repos module. - Enhanced the info module with a new Request structure for optional repository filtering. - Modified the GitHub webhook handling to support push events, including tagging and commit processing. - Improved the job queue processing by removing unnecessary functions and optimizing runtime configurations. - Cleaned up code formatting and structure for better readability and maintainability. - Removed unused imports and dead code across various modules. | 3 个月前 | |
Use short connection for db | 3 个月前 | |
Add release scripts Co-authored-by: QLiangong<liangong_qiu@qq.com> | 2 个月前 | |
Add perf-record runtime profile | 6 个月前 | |
transit all deps to thiserrorv2 except direct dep | 1 年前 | |
Extract Cargo artifact iteration into a separate module | 2 年前 | |
Fix Clippy | 1 年前 | |
Store site-config repos key as the database repo identifier Previously benchmark_request.repo stored the full repository path (e.g. "gitcode/xuanwu/Daft"). Now it stores the site-config repos key itself (e.g. "rust", "daft"), which is what all site-side lookups, comparisons, and status-page rendering already key off. The full platform/owner/repo identifier lives only in [repos.<key>].repo and is carried to the collector through QueueRuntimeConfig.repo for cloning, so the collector still receives the full path. - Drop resolve_repo_identifier and repo_key_for_repo_or_slug; repo_identifier now just validates that the key is configured. - Webhook payloads still arrive as full paths; repo_key_for_repo maps them back to the configured repos key (keys never contain '/'). - request_handlers (repos/info/status_page) and comparison_summary treat request.repo() as the key directly. Make platform API keys optional and validate at startup: - keys.github / keys.gitcode become Option<ServiceKeys>. When a section is absent the site starts in degraded mode (platform API and webhook verification fail with logged errors); when present, both token and secret are required and must be non-empty, enforced by Config::validate_keys at startup. main now exits on init failure. Move RepoPlatform to the collector crate and add from_str: - RepoPlatform now lives in collector::lib with as_str/AsRef<str> and a new from_str(&str) -> Option<Self>; site re-exports it via pub use collector::RepoPlatform. - Replace the two manual string->enum conversions (RepoConfig::platform, toolchain::clone_url_from_repo) with from_str, separating string parsing from URL/platform building. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> | 2 个月前 | |
Refactor API and Database Interaction - Updated the database test context to directly pass port values instead of references. - Introduced a new module repos in the API to handle repository information. - Added structures for RepoInfo and Response in the repos module. - Enhanced the info module with a new Request structure for optional repository filtering. - Modified the GitHub webhook handling to support push events, including tagging and commit processing. - Improved the job queue processing by removing unnecessary functions and optimizing runtime configurations. - Cleaned up code formatting and structure for better readability and maintainability. - Removed unused imports and dead code across various modules. | 3 个月前 | |
Store site-config repos key as the database repo identifier Previously benchmark_request.repo stored the full repository path (e.g. "gitcode/xuanwu/Daft"). Now it stores the site-config repos key itself (e.g. "rust", "daft"), which is what all site-side lookups, comparisons, and status-page rendering already key off. The full platform/owner/repo identifier lives only in [repos.<key>].repo and is carried to the collector through QueueRuntimeConfig.repo for cloning, so the collector still receives the full path. - Drop resolve_repo_identifier and repo_key_for_repo_or_slug; repo_identifier now just validates that the key is configured. - Webhook payloads still arrive as full paths; repo_key_for_repo maps them back to the configured repos key (keys never contain '/'). - request_handlers (repos/info/status_page) and comparison_summary treat request.repo() as the key directly. Make platform API keys optional and validate at startup: - keys.github / keys.gitcode become Option<ServiceKeys>. When a section is absent the site starts in degraded mode (platform API and webhook verification fail with logged errors); when present, both token and secret are required and must be non-empty, enforced by Config::validate_keys at startup. main now exits on init failure. Move RepoPlatform to the collector crate and add from_str: - RepoPlatform now lives in collector::lib with as_str/AsRef<str> and a new from_str(&str) -> Option<Self>; site re-exports it via pub use collector::RepoPlatform. - Replace the two manual string->enum conversions (RepoConfig::platform, toolchain::clone_url_from_repo) with from_str, separating string parsing from URL/platform building. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 |