Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #l...
Search
akase244
January 28, 2026
Programming
70
0
Share
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
「レイヤード Meetup LT会 vol.8」で発表したスライドです。
akase244
January 28, 2026
More Decks by akase244
See All by akase244
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
380
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
63
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
74
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
110
疎通・有効期限を確認するコマンド #ツナギメオフライン.3
akase244
0
81
AIサービスに利用規約について聞いてみた #ツナギメオフライン.2
akase244
0
76
なぜ、新たに勉強会を始めるのか? #ツナギメオフライン.1
akase244
0
100
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
3
9k
Other Decks in Programming
See All in Programming
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
260
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
3
590
Modding RubyKaigi for Myself
yui_knk
0
430
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
810
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
970
Cloudflare で始める Data Platform
ta93abe
0
300
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
180
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
170
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
190
SkillsをS3 Filesに置く時のあれこれ
watany
4
1.8k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.3k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
200
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
780
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
My Coaching Mixtape
mlcsv
0
130
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
We Are The Robots
honzajavorek
0
230
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
GitHub Actionsを使って指定した日時に Pull Requestをマージしたい January 28, 2026. レイヤード Meetup LT会
vol.8
@akase244 <?php var_dump( (new Me()) ->WebApplicationEngineer() ->InfrastructureEngineer() ); January 28,
2026. レイヤード Meetup LT会 vol.8
2025/11/8に開催したPHPカンファレンス福岡の主催・運営 2025年で10周年(全8回の開催) January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 GitHub Actionsを使って指定した日時に Pull
Requestをマージしたい?
「ツナギメエフエム」というポッドキャストを配信 https://tsunagi.me/ https://x.com/tsunagimefm January 28, 2026. レイヤード Meetup LT会 vol.8
ツナギメエフエム(第89回:2024/05/17公開) • 吉竹さん(株式会社レイヤード) • 森さん(株式会社レイヤード) January 28, 2026. レイヤード Meetup
LT会 vol.8
• 山畑さん(株式会社レイヤード) • ノンさん(チャリチャリ株式会社) • GAOさん(株式会社Fusic) ツナギメエフエム(第107回:2024/09/18公開) January 28, 2026.
レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 「ツナギメエフエム」のシステム構成
Spotify for CreatorsでPodcastを配信 January 28, 2026. レイヤード Meetup LT会 vol.8
tsunagi.me というドメインでwebページを公開 January 28, 2026. レイヤード Meetup LT会 vol.8
GitHubでwebページ用のリポジトリを管理 January 28, 2026. レイヤード Meetup LT会 vol.8
Cloudflare Pagesでwebページを運用 January 28, 2026. レイヤード Meetup LT会 vol.8
GitHubでPull RequestをマージするとCloudflare Pagesに自動デプロイ January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 現状の課題 • Podcastの配信とwebページの公開のタイミングは非連動の状態。
• Spotify for Creatorsは指定日時に配信が可能。 • webページはSpotify for Creators側の配信が行われたことを確認し てからPull Requestを手動でマージしている。
January 28, 2026. レイヤード Meetup LT会 vol.8 https://tsunagi.me/ep138/ 年末に 第138回
を公開した頃に気づきました
January 28, 2026. レイヤード Meetup LT会 vol.8 これは手間(トイル)だな、と
January 28, 2026. レイヤード Meetup LT会 vol.8 今回実現したいこと • Spotify
for CreatorsでPodcastを指定した日時に配信。 • GitHubのPull Requestを公開日時の数分後に自動マージしたい。
January 28, 2026. レイヤード Meetup LT会 vol.8 どうやって実現するか • Pull
Reqeest にラベル「merge-at」を付与。 • ラベル「merge-at」のDescriptionに公開日時を YYYY-MM-DD hh:mm 形式で入力。 • GitHub Actions のワークフローを5分毎に実行。 • Pull Request にラベル「merge-at」が付与されていて、かつ、GitHub Actions の実行日時がラベルのDescriptionに入力されている日時を 過ぎていたらマージする。
January 28, 2026. レイヤード Meetup LT会 vol.8 同じようなことをやってる人はいるのか?
指定日時にプルリクをマージするなら:Merge Schedule【GitHub Actions】 January 28, 2026. レイヤード Meetup LT会 vol.8
https://zenn.dev/orch_canvas/articles/gh-actions-merge-schedule
アクションの名前もそのまんま January 28, 2026. レイヤード Meetup LT会 vol.8 https://github.com/gr2m/merge-schedule-action
Pull Requestのコメントにマージ日時を指定する方式 January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 良さそう
January 28, 2026. レイヤード Meetup LT会 vol.8 だがしかし
January 28, 2026. レイヤード Meetup LT会 vol.8 公式提供ではない他人が作った • Vagrantfile
• Dockerfile • compose.yaml / docker-compose.yaml • Ansible Playbook • Terraform( .tfファイル) • GitHub Actions はセキュリティ的な観点で信頼してはいけないと教育されてきた
January 28, 2026. レイヤード Meetup LT会 vol.8 実装してみました
January 28, 2026. レイヤード Meetup LT会 vol.8 PRに「merge-at」のラベルを付与する
January 28, 2026. レイヤード Meetup LT会 vol.8 5分毎に動いてるっぽい
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 そんなことなかった • 8分後
• 12分後 • 20分後 • 16分後 • 12分後 • 26分後
January 28, 2026. レイヤード Meetup LT会 vol.8 scheduleトリガー https://docs.github.com/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule
January 28, 2026. レイヤード Meetup LT会 vol.8 「期待どおりの時間に動くと思うなよ」 と、書いてあります
January 28, 2026. レイヤード Meetup LT会 vol.8 プロに相談
GitHub Actionsのワークフローを正確なスケジュールで実行する January 28, 2026. レイヤード Meetup LT会 vol.8 https://tsubalog.hatenablog.com/entry/2025/12/29/125025
January 28, 2026. レイヤード Meetup LT会 vol.8 どうやって実現しているのか? • Azure
Logic Apps ワークフローのスケジュール トリガーで定期的に実 行。 • GitHub Actions の workflow_dispatchトリガーを REST API で呼び出 す。
January 28, 2026. レイヤード Meetup LT会 vol.8 先程のやり方を参考に
January 28, 2026. レイヤード Meetup LT会 vol.8 アーキテクチャを変更 • 変更前
◦ GitHub Actions の scheduleトリガーで定期的に実行 • 変更後 ◦ Amazon EventBridge で定期的に実行。 ◦ AWS Lambda で GitHub Actions の workflow_dispatchトリガーを 呼び出す。
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 5分毎にちゃんと動いてるような。。。 • 5分後
• 5分後 • 5分後 • 5分後 • 5分後 • 5分後
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 謎のメールを受信
January 28, 2026. レイヤード Meetup LT会 vol.8 98回もfailed?
January 28, 2026. レイヤード Meetup LT会 vol.8 何が起こった!?
January 28, 2026. レイヤード Meetup LT会 vol.8 Actionsの無料使用枠「2,000分/月」を超えてた
January 28, 2026. レイヤード Meetup LT会 vol.8 しかし、解せない
January 28, 2026. レイヤード Meetup LT会 vol.8 Actionsに掛かった時間は1回につき10秒程度 • 9秒
• 8秒 • 10秒 • 8秒 • 12秒 • 10秒 • 9秒
January 28, 2026. レイヤード Meetup LT会 vol.8 1ヶ月に何分使う計算か? • 1回の実行に約10秒
• 5分毎に1回なので1時間に12回実行(= 2分/時) • 1日に24回実行(= 48分/日) • 1ヶ月に約30回実行(= 1,440分/日) いや、2,000分は超えてなくね???
January 28, 2026. レイヤード Meetup LT会 vol.8 と思ったら
January 28, 2026. レイヤード Meetup LT会 vol.8 ちょっと待って、途中から実行の間隔が。。。 • 1分後
• 2分後 • 2分後 • 1分後 • 2分後 • 2分後
January 28, 2026. レイヤード Meetup LT会 vol.8 どうしてこうなった?
January 28, 2026. レイヤード Meetup LT会 vol.8 いずれかの設定ミスかバグかリトライでは?と予想 • GitHub
Actions • Amazon EventBridge • AWS Lambda
January 28, 2026. レイヤード Meetup LT会 vol.8 Amazon CloudWatch Logs
を確認
January 28, 2026. レイヤード Meetup LT会 vol.8 タイムアウトが発生して同じRequestsIdで複数回実行されている
January 28, 2026. レイヤード Meetup LT会 vol.8 Amazon EventBridge の再試行ポリシーが未設定の場合は
デフォルト回数(最大185 回)が適用されるっぽい?
January 28, 2026. レイヤード Meetup LT会 vol.8 対策 • AWS
Lambda のタイムアウト時間が3秒(デフォルト値)は短すぎたの で30秒に変更 • Amazon EventBridge の実行回数を5分毎から10分毎に変更。 • Amazon EventBridge の再試行ポリシーの「最大再試行回数」を明示 的に「1回」に設定する。
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 制限が解除されるまであと8日
January 28, 2026. レイヤード Meetup LT会 vol.8 勝てなかった
January 28, 2026. レイヤード Meetup LT会 vol.8 • GitHub Actions
の scheduleトリガーはベストエフォート実行。 • AWS Lambda のデフォルトタイムアウト時間(3秒)に注意。 • Amazon EventBridge はエラーが発生すると自動で再試行する。 • GitHub Actions の無料枠を超えたら fail する仕様に感謝。(クラウド破 産するところだった) まとめ
January 28, 2026. レイヤード Meetup LT会 vol.8 「8」は重ねられてましたか?
January 28, 2026. レイヤード Meetup LT会 vol.8 最後に宣伝
キャッチアップさんの会場で開催します https://fukuokaphp.connpass.com/event/380488/ January 28, 2026. レイヤード Meetup LT会 vol.8
レイヤードさんの会場で開催します https://tsunagime-offline.connpass.com/event/381345/ January 28, 2026. レイヤード Meetup LT会 vol.8
Thanks! Have a good programming!! January 28, 2026. レイヤード Meetup
LT会 vol.8