GitHub × zenn.devで気軽に「予定時刻に公開」する記事を書く


結論

① 記事のFrontMatterで、 published: false として publishAt で公開予定時刻を指定する

publishAt: 2020-11-22
published: false

② GitHub Actionsに次のWorkflowを入れておく

.github/workflows/publish.yaml
on:
  schedule:
    - cron: '1 * * * *'

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v2
      - name: Publish articles
        uses: kyoh86/zenn-auto-publish-[email protected]
      - name: Push posts
        run: |
          git config user.email "${{ github.event_name }}@${{github.repository_owner}}"
          git config user.name "${{ github.event_name }}"
          git commit -am 'Publish'
          git push

これで、自動でpublishtrueにして、コミットしてくれます。

背景

年末恒例のアドベントカレンダーも近づいてきましたが、
Zenn.devの予約投稿機能が追いつかなかったらしいですね。[要出典]

良いものがないだろうか、と検索してみたところ、Branchで運用する人の記事に当たりました。

https://zenn.dev/j5c8k6m8/articles/zenn-adcal-github-action

GitHub Actionsのon:scheduleでやるってのはいい感じなんですが、
もうちょっと記事を書くときに手軽に指定できたら良いですよね。

ということで、

https://zenn.dev/kyoh86/scraps/c07f653f4c881b87f160

の上でいろいろ試行錯誤した結果がこの記事でした。
この記事も、実験的にこの仕組みで公開しています。