概要
要求仕様書 FR-11 に「GitHub Releases が継続失敗する場合に備え、代替取得元(例: npm の @go-task/cli tarball 同梱バイナリ)からの取得を将来サポートできる設計とする。v1 必須ではない」とある。現状は GitHub Releases のみが取得元。
受け入れ条件
ReleaseApi インターフェースを拡張し、代替ソースでも「バージョン一覧」「バイナリ DL」「checksum 取得」を抽象化できる設計にする。
- npm
@go-task/cli tarball からバイナリを取り出す実装を追加する(または少なくとも設計を整える)。
- プライマリ(GitHub Releases)が失敗した場合にのみフォールバックを試行する。
- セキュリティ面: 代替ソースでも checksum 検証は必須とする。
- v1.0.0 以降の対応で構わない(optional)。
参照
- 要求仕様書 FR-11
- 企画書 §8(リスクと対策)
src/version.ts ReleaseApi
src/github.ts createReleaseApi
概要
要求仕様書 FR-11 に「GitHub Releases が継続失敗する場合に備え、代替取得元(例: npm の
@go-task/clitarball 同梱バイナリ)からの取得を将来サポートできる設計とする。v1 必須ではない」とある。現状は GitHub Releases のみが取得元。受け入れ条件
ReleaseApiインターフェースを拡張し、代替ソースでも「バージョン一覧」「バイナリ DL」「checksum 取得」を抽象化できる設計にする。@go-task/clitarball からバイナリを取り出す実装を追加する(または少なくとも設計を整える)。参照
src/version.tsReleaseApisrc/github.tscreateReleaseApi