Visitar URL original
実装: pnpm/action-setup の mutable tag を commit SHA pin に固定する(#1476 follow-up) · Issue #1484 · squne121/loop-protocol · GitHub
Skip to content

実装: pnpm/action-setup の mutable tag を commit SHA pin に固定する(#1476 follow-up) #1484

Open

Description

@squne121

Machine-Readable Contract

contract_schema_version: v1
issue_kind: implementation
parent_issue: none
goal_ref: "follow-up:squne121/loop-protocol:issue-1476:sha-pin-mutable-pnpm-action-tags"
change_kind: workflow
dedupe_key: "follow-up:squne121/loop-protocol:issue-1476:sha-pin-mutable-pnpm-action-tags"

Parent Issue

なし

Parent Goal Ref

Current Validated Scope

Remaining Parent Gaps

なし(単独 follow-up Issue のため parent tracker を持たない)。

Outcome

.github/actions/setup-node-pnpm/action.yml の pnpm/action-setup@v6 と .github/workflows/agent-retro-index.yml の pnpm/action-setup@v4(2箇所)が、deploy-pages.yml と同形式の uses: pnpm/action-setup@(40桁commit SHA) # vX.Y.Z に置き換わり、対応する tag コメントが併記され、既存 CI(typecheck / lint / test / build / actionlint)が green で通っている状態。

In Scope

  • .github/actions/setup-node-pnpm/action.yml の pnpm/action-setup@v6 を、対応する v6 系タグの commit SHA 固定に変更する(SHA の直後に # vX.Y.Z 形式で対応タグをコメント併記する)。
  • .github/workflows/agent-retro-index.yml の2箇所の pnpm/action-setup@v4 を、対応する v4 系タグの commit SHA 固定に変更する(同様にコメント併記する)。
  • 変更後、pnpm typecheck / pnpm lint / pnpm test / pnpm build と、既存 CI の actionlint job が green であることを確認する。

Out of Scope

  • pnpm/action-setup 以外の Action の SHA pin 状況の一括監査(既存 CLOSED Issue chore(ci): GitHub Actions workflow の SHA pin / actionlint 統合 #280 は過去の対応であり、この2ファイルはカバーしていない。一括監査自体は別 Issue で扱う)。
  • pnpm version 自体(package.json#packageManager の pnpm@11.7.0 contract)の変更。
  • .github/workflows/deploy-pages.yml の pnpm/action-setup 参照(既に SHA 固定済みのため対象外)。
  • secrets 利用方針、pull_request_target 利用方針の変更。

Acceptance Criteria

  • AC1: .github/actions/setup-node-pnpm/action.yml に pnpm/action-setup@v6 という mutable tag 参照が残存しない。
  • AC2: .github/actions/setup-node-pnpm/action.yml の pnpm/action-setup 参照が 40桁 commit SHA 形式(pnpm/action-setup@(40桁hex))である。
  • AC3: .github/workflows/agent-retro-index.yml に pnpm/action-setup@v4 という mutable tag 参照が残存しない(2箇所とも)。
  • AC4: .github/workflows/agent-retro-index.yml の pnpm/action-setup 参照(2箇所)が 40桁 commit SHA 形式である。
  • AC5: pnpm typecheck が PASS する。
  • AC6: pnpm lint が PASS する。
  • AC7: pnpm test が PASS する。
  • AC8: pnpm build が PASS する。

Verification Commands

# AC1
# baseline-expect: fail
$ rg -c "pnpm/action-setup@v6" .github/actions/setup-node-pnpm/action.yml

# AC2
# baseline-expect: fail
$ rg -c "pnpm/action-setup@[0-9a-f]{40}" .github/actions/setup-node-pnpm/action.yml

# AC3
# baseline-expect: fail
$ rg -c "pnpm/action-setup@v4" .github/workflows/agent-retro-index.yml

# AC4
# baseline-expect: fail
$ rg -c "pnpm/action-setup@[0-9a-f]{40}" .github/workflows/agent-retro-index.yml

# AC5
$ pnpm typecheck

# AC6
$ pnpm lint

# AC7
$ pnpm test

# AC8
$ pnpm build

Runtime Verification Applicability

  • decision: not_applicable
  • reason: 変更は既存 workflow ファイル内の Action 参照(tag から commit SHA)の書き換えのみであり、typecheck / lint / test / build と既存 CI の actionlint job(静的 YAML 検査)のみで検証が完結する。プロセス起動・外部通信・I/O を伴う動作検証は不要。

Allowed Paths

  • .github/actions/setup-node-pnpm/action.yml
  • .github/workflows/agent-retro-index.yml

Stop Conditions

  • Allowed Paths 外の変更が必要と判明した場合
  • In Scope の固定契約(キー集合・スキーマ・型定義)の変更が必要になった場合
  • 新規 Issue の起票が必要と判断した場合(スコープ分割が発生する場合)
  • 後続 Phase / 別スコープへの波及が判明した場合
  • nested SubAgent delegation が必要になった場合
  • 外部サービス利用・権限昇格・既存テスト大規模改変が必要になった場合
  • pnpm/action-setup 以外の Action 参照の SHA pin が必要と判明した場合
  • 対応する upstream tag(vX.Y.Z)と commit SHA の対応関係を確定できない場合

Required Skills

なし

Required Design References

Scope Delta(任意)

N/A

Delivery Rule(配信ルール)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions