Count the deployment streak across every deployment provider

オープン
#304 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
tooling

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
TypeScript
スター
1
フォーク
1
平均マージ
6時間 56分
マージ済み PR(30日)
136

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

eddiejaoude/StackDash のほかの issue

eddiejaoude/StackDash の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。