Count the deployment streak across every deployment provider

Đang mở
#304 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
38/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
tooling

Hướng nghiên cứu

Start in src/lib/public-metrics/definitions.ts: read vercel-deployment-streak, the event_streak shape of MetricSource, and DEPLOYMENT_OUTCOMES. Then read eventStreak in engine.ts and computeYearReview in yearly.ts, whose per-provider loop is the model for the new streak. Post the semantics decision on the issue before coding; done means the definition, engine, formula and formulas-page entry agree and definitions.test.ts covers the four listed cases.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: web enhancement priority: P3 size: M

Summary

The public metric "Successful deployments in a row" (vercel-deployment-streak) counts Vercel deployments only. Since #262, "Deployments in 7 days" and "Deployments in 30 days" count successful deployments on DigitalOcean App Platform, GitLab, Railway, and Vercel. So a project page can now show a deployment count across four providers next to a streak counted on Vercel alone, and only the formulas page explains the difference. Eddie decided to keep the streak's label as it is and handle the streak in its own issue (review thread on #300: https://github.com/eddiejaoude/DevMacro/pull/300#discussion_r4536027611).

There is no repository task template, so this follows the layout of #262.

Evidence

  • The streak definition is vercel-deployment-streak in src/lib/public-metrics/definitions.ts: providers: ["vercel"], source: { type: "event_streak", successTypeId: VERCEL_SUCCEEDED, failureTypeId: VERCEL_FAILED }.
  • The event_streak source holds one success and failure pair (MetricSource in definitions.ts), and eventStreak in src/lib/public-metrics/engine.ts reads one newest-first sequence of those two types. Widening it to every provider changes the definition's shape, not one line.
  • DEPLOYMENT_OUTCOMES in definitions.ts already lists each deployment provider's success and failure types, proven against the adapters' deploy_succeeded and deploy_failed categories by definitions.test.ts.
  • The year in review's longest run already reads one sequence per provider (computeYearReview in src/lib/public-metrics/yearly.ts), so a failure on one provider never breaks another's run.

Scope

  • Decide what a cross-provider streak means, recorded on this issue before coding. Options include the longest of the per-provider current streaks with its provider named, or a streak per provider. A single mixed sequence is ruled out, because a failure on one provider would end a run on another.
  • Update the definition, the engine's eventStreak, the formula, and the formulas page. The published value changes, so say that in the pull request.

Acceptance criteria

  • The decision is recorded on this issue before coding.
  • The streak counts every deployment provider in DEPLOYMENT_OUTCOMES as decided, and a failure on one provider does not reset another provider's streak.
  • Unit tests: a Railway-only project, a tie across providers, a failure on one provider only, and the STREAK_EVENT_LIMIT lower bound.
  • The formula, its formulas page entry, and the published label agree on what is counted.

Related: #262, #300.

Model: anthropic/claude-opus-5-5 | Reasoning effort: unknown

Ngôn ngữ chính
TypeScript
Star
1
Fork
1
Merge trung bình
6 giờ 56 phút
Pull request đã merge (30 ngày)
136

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của eddiejaoude/StackDash

Tất cả issue của eddiejaoude/StackDash

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.