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
89
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
「レイヤード Meetup LT会 vol.8」で発表したスライドです。
akase244
January 28, 2026
More Decks by akase244
See All by akase244
mkpasswd を再実装したくなったので AIに伴走してもらいながら rekey という パスワードジェネレーターを作ってみた #fukuokago
akase244
0
35
Let’s Encryptのフォールバック先について #ツナギメオフライン.8
akase244
0
60
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
460
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
71
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
86
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
130
疎通・有効期限を確認するコマンド #ツナギメオフライン.3
akase244
0
91
AIサービスに利用規約について聞いてみた #ツナギメオフライン.2
akase244
0
96
Other Decks in Programming
See All in Programming
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
AIエージェントで 変わるAndroid開発環境
takahirom
2
740
その節約、円になってますか?
isamumumu
0
500
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.2k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
290
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
120
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
180
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
継続モナドとリアクティブプログラミング
yukikurage
3
660
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
430
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
480
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Being A Developer After 40
akosma
91
590k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Six Lessons from altMBA
skipperchong
29
4.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
430
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Agile that works and the tools we love
rasmusluckow
331
22k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
750
GitHub's CSS Performance
jonrohan
1033
470k
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