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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
akase244
January 28, 2026
Programming
52
0
Share
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
「レイヤード Meetup LT会 vol.8」で発表したスライドです。
akase244
January 28, 2026
More Decks by akase244
See All by akase244
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
19
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
46
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
59
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
90
疎通・有効期限を確認するコマンド #ツナギメオフライン.3
akase244
0
67
AIサービスに利用規約について聞いてみた #ツナギメオフライン.2
akase244
0
63
なぜ、新たに勉強会を始めるのか? #ツナギメオフライン.1
akase244
0
90
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
3
9k
GoナニモワカラナイけどChatGPTと共に解決したい課題が解けるかやってみた #fukuokago
akase244
0
150
Other Decks in Programming
See All in Programming
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
560
Rethinking API Platform Filters
vinceamstoutz
0
11k
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
720
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
150
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
Feature Toggle は捨てやすく使おう
gennei
0
550
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
120
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
140
Make GenAI Production-Ready with Kubernetes Patterns
bibryam
0
110
CDK Deployのための ”反響定位”
watany
4
690
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
190
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Context Engineering - Making Every Token Count
addyosmani
9
810
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Become a Pro
speakerdeck
PRO
31
5.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Leo the Paperboy
mayatellez
7
1.6k
My Coaching Mixtape
mlcsv
0
97
A designer walks into a library…
pauljervisheath
211
24k
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