Skip to content

feat: 4つの Composite Actions を実装#21

Merged
kryota-dev merged 8 commits intomainfrom
claude/composite-actions-creation
Feb 21, 2026
Merged

feat: 4つの Composite Actions を実装#21
kryota-dev merged 8 commits intomainfrom
claude/composite-actions-creation

Conversation

@kryota-dev
Copy link
Copy Markdown
Owner

概要

.github/composite/ 配下に以下の4つの Composite Actions を実装しました。

  • pnpm-setup: Node.js・pnpm のセットアップ、pnpm ストアキャッシュ、依存関係インストールを一括実行
  • playwright-setup: Playwright ブラウザをキャッシュ付きでインストール
  • slack-notify-success: ワークフロー成功時に Slack の chat.postMessage API へ通知(Bot OAuth Token 認証)
  • slack-notify-failure: ワークフロー失敗時に Slack の Incoming Webhook URL へ通知

変更内容

  • .github/composite/pnpm-setup/action.yml 新規作成
  • .github/composite/playwright-setup/action.yml 新規作成
  • .github/composite/slack-notify-success/action.yml 新規作成
  • .github/composite/slack-notify-failure/action.yml 新規作成
  • .github/composite/.gitkeep 削除(実際の Action 追加により不要)
  • README.md### Composite Actions セクションを更新(Coming soon. から各 Action の詳細に変更)

セキュリティ対応

  • uses: は全て full commit SHA(40文字)でピン留め(ghalint / zizmor 対応)
  • ${{ inputs.xxx }}run: に直接埋め込まず、全て env: 経由で渡す(テンプレートインジェクション対策)
  • jq による安全な JSON 構築(JSONインジェクション対策)
  • run ステップには shell: bash を必ず明記

チェックリスト

  • ローカルでビルドが通ることを確認した
  • 品質チェック(ls-lint / ghalint / zizmor)の設計要件を満たしていることを確認した
  • SHA ピン留め済みで全 uses: が40文字 SHA + コメントの形式になっている
  • env: 経由でのテンプレートインジェクション対策が施されている
  • README.md の ### Composite Actions セクションを更新した

Node.js・pnpm のセットアップ、pnpm ストアキャッシュ、依存関係インストールを
一括実行する Composite Action を実装
Playwright ブラウザをキャッシュ付きでインストールする Composite Action を実装
キャッシュヒット時はブラウザのダウンロードをスキップする
ワークフロー成功時に Slack の chat.postMessage API へ通知する Composite Action を実装
env 経由でのテンプレートインジェクション対策、jq による安全な JSON 構築、
スレッド返信(thread-ts)対応を含む
ワークフロー失敗時に Slack の Incoming Webhook URL へ通知する Composite Action を実装
env 経由でのテンプレートインジェクション対策、jq による安全な JSON 構築を含む
slack-notify-success と異なり Incoming Webhook 方式のため channel 指定不要
実際の Composite Actions が追加されたため、ディレクトリ管理用の .gitkeep は不要
各 Composite Action の使用方法・入力パラメータ一覧を追記
pnpm-setup / playwright-setup / slack-notify-success / slack-notify-failure の
詳細を Coming soon. から置き換え
tasks.md, design.md, requirements.md を追加
zizmor の "dangerous use of environment file" エラーを修正
GITHUB_ENV への書き込みの代わりに GITHUB_OUTPUT を使用し、
後続ステップで steps.pnpm-store.outputs.store-path として参照する方式に変更
@kryota-dev kryota-dev marked this pull request as ready for review February 21, 2026 10:51
@kryota-dev kryota-dev merged commit 17ffec6 into main Feb 21, 2026
4 checks passed
@kryota-dev kryota-dev deleted the claude/composite-actions-creation branch February 21, 2026 10:52
@kryota-dev kryota-dev mentioned this pull request Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant