chore: promote develop to main — release v2.6.0#1143
Conversation
fix: improve security-advisories.yml - fix severity filter logic, add Chrome-Go scan, add concurrency group, remove excess permissions, add critical vuln notification
feat: Phase 3 DORA metrics - job lifecycle hooks, duration histogram, queue time, cache stubs, 3 Grafana dashboards. Closes #1061
Phase 5 Prometheus documentation: 6 new docs/features files, 4 new wiki pages, updated README/API/env examples, fixed wiki port references
Phase 6 Testing & Validation: 6 Prometheus monitoring test suites (149 assertions), CI integration, shellcheck compliance fixes
chore: bump version to 2.6.0 and update changelog
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This release, v2.6.0, represents a significant upgrade focused on observability and operational insights for the self-hosted GitHub Actions runners. It introduces a complete Prometheus monitoring solution, enabling users to gain deep visibility into runner performance, job execution, and DORA metrics through new metrics, dedicated Grafana dashboards, and comprehensive documentation. This enhancement aims to empower users with better tools for managing and optimizing their CI/CD infrastructure. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request promotes the develop branch to main for the v2.6.0 release, which notably completes the Prometheus monitoring feature. The changes are extensive, including the addition of job lifecycle tracking for DORA metrics, new Grafana dashboards, and comprehensive documentation and testing for the monitoring system. My review focused on the new monitoring scripts. I found a high-severity issue in the histogram calculation logic within metrics-collector.sh that would lead to incorrect metrics. The rest of the implementation, including the new job hook scripts and entrypoint modifications, appears solid and well-designed.
| # Make buckets cumulative (each bucket includes all smaller buckets) | ||
| # The above loop already counts per-bucket, but Prometheus requires cumulative | ||
| # So we need to accumulate: bucket[i] += bucket[i-1] | ||
| for ((i = 1; i < ${#HISTOGRAM_BUCKETS[@]}; i++)); do | ||
| bucket_counts_ref[i]=$((bucket_counts_ref[i] + bucket_counts_ref[i - 1])) | ||
| done |
There was a problem hiding this comment.
The logic for calculating histogram buckets is incorrect. The loop on lines 121-125 already correctly computes the cumulative counts for the histogram buckets. This second loop re-accumulates these already-cumulative values, which will result in incorrect histogram metrics. For example, a value that falls into the le="60" bucket will be counted again in every subsequent bucket's total by this loop, inflating the counts.
The comment on line 131 is also misleading; the preceding loop is already cumulative, not 'per-bucket'.
To fix this, this redundant loop should be removed.
Release v2.6.0 — Prometheus Monitoring Complete
Promotes
developtomainfor production release v2.6.0.What's Included
Prometheus Monitoring (Phases 2–6):
job-started.sh,job-completed.shhooks, duration histograms, queue-time gauges (feat: Phase 3 DORA metrics and job lifecycle tracking #1136)Security:
security-advisories.ymlworkflow logic and coverage (fix: improve security-advisories.yml logic and coverage #1134)Merge Strategy
developandmain.Checklist
2.6.0