AbemaTV, Inc. All Rights Reserved
AbemaTV, Inc. All Rights Reserved 1
JavaScript/TypeScript Action
開発・運用の知見を大公開!
2024-05-16
株式会社 AbemaTV, Shohei Ueda
GitHub Actions Meetup Tokyo #3
Shohei Ueda
Slide 2
Slide 2 text
AbemaTV, Inc. All Rights Reserved 2
● 自己紹介
● ABEMA について
● JavaScript/TypeScript
Action
● ディレクトリ構成
● action.yml のテスト
INDEX
● 便利ライブラリ
● リリース戦略
● Branch で実行させない
● 依存関係の定期更新
● まとめ
Slide 3
Slide 3 text
AbemaTV, Inc. All Rights Reserved
本日は
JavaScript/TypeScript Action
を開発・運用する上での
知見を紹介します!
3
(個人の OSS なので ABEMA の話はないです)
Slide 4
Slide 4 text
AbemaTV, Inc. All Rights Reserved
JavaScript/TypeScript Action
4
JavaScript/TypeScript でカスタム Action を書く
AbemaTV, Inc. All Rights Reserved
リリース戦略
13
v3.0.0, v3, 75d2e84710de30f6ff7268e08f310b60ef14033f
Slide 14
Slide 14 text
AbemaTV, Inc. All Rights Reserved 14
Action の実行方法として以下を提供
● v3.0.0
● v3
● 75d2e84710de30f6ff7268e08f
310b60ef14033f
リリース戦略
1. GitHub Release を作成したタイミン
グで v1.2.3 の git tag を作成
2. v1.2.3 git tag が作成された時に v1
major git tag を更新
JavaScript のビルドや major tag の更新
はスクリプトや workflow で自動化してま
す
Slide 15
Slide 15 text
AbemaTV, Inc. All Rights Reserved 15
リリース戦略 - major tag 更新する workflow
Slide 16
Slide 16 text
AbemaTV, Inc. All Rights Reserved
Branch で実行させない
16
ユーザーにベストプラクティスを提供する
Slide 17
Slide 17 text
AbemaTV, Inc. All Rights Reserved 17
常に実行エンドポイント
dist/index.js を main branch など
で利用可能にすると main branch
指定でユーザーは action を利用で
きてしまう!
後方互換性のない破壊的変更を入れ
た場合に困る 😢
Branch で実行させない
そこで以下のような方法がとれます
1. リリースの git tag でのみ
dist/index.js を含める
2. リリースの git tag でのみ
action.yml の runs.main を正し
いものにする
Slide 18
Slide 18 text
AbemaTV, Inc. All Rights Reserved
依存関係の定期更新
18
Dependabot, Renovate