Skip to content

Sync index.md with README.md in thinreports/thinreports #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 21, 2021

Conversation

hidakatsuya
Copy link
Member

@hidakatsuya hidakatsuya commented Nov 17, 2021

目的

index.md を thinreports/thinreports の READMD.md と同期するようにします。

方針

このリポジトリの GitHub Actions で以下を定義します。

  • 1時間ごとに実行する
  • thinreports/thinreports の README.md を取得し、index.md を構築
  • 結果 index.md に変更点があれば push する

その他の選択肢

その他にもいくつかの選択肢がありますが、それぞれ以下の理由で却下しました。

  1. thinreports/thinreports の GitHub Actions として、README.md の更新でトリガーするワークフローを定義する。そのワークフローで、index.md を構築し、thinreports/thinreports.github.io に push する
    • -> 人に依存しない方法としては、Deploy Keys を使う方法が良いが、ワークフローの実装が割と複雑
  2. 同様に thinreports/thinreports の GitHub Actions として README.md の更新でトリガーするワークフローを定義する。ただし、そのワークフローは、thinreports/thinreports.github.io に対して「READMD.md を更新した」というイベントを dispatch するだけにする。thinreports.github.io では、その「README.mdを更新した」というイベントで発火するワークフローを定義し、README.md を取得して構築、push する
    • -> 責務が分離されていて、かつリアルタイムに同期できるが、PTA (Personal Access Token) が必要。人に紐づくことになってしまうことはできるだけ避けたい

人(PTA)に紐づくことは避けたいというのが前提にあり、かつシンプルさも考慮してこの方法を採用しました。。また、同期はリアルタイムである必要もありません。

動作テスト

手元で node .github/workflows/update-index.js を実行して確認しました。

この後の対応

このワークフローは、master にマージしないと動作確認できません。一度マージして実際に試しつつ調整します。

@hidakatsuya hidakatsuya self-assigned this Nov 17, 2021
@hidakatsuya
Copy link
Member Author

@maeda-m レビューお願いします

Comment on lines +4 to +5
# schedule:
# - cron: '0 */1 * * *'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

動作確認して良さそうならコメントアウトする

Copy link
Member

@maeda-m maeda-m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hidakatsuya いつもありがとうございます。

人(PTA)に紐づくことは避けたいというのが前提にあり、かつシンプルさも考慮してこの方法を採用しました。

また、同期はリアルタイムである必要もありません。

なるほど。理解しました。

LGTM!

@hidakatsuya hidakatsuya merged commit d0ee21b into master Nov 21, 2021
@hidakatsuya hidakatsuya deleted the sync-index-md branch November 21, 2021 13:22
@hidakatsuya
Copy link
Member Author

マージして調整しました。概ね良さそうです。

差分がある場合はこんな感じで自動的に push されます。
9005f54

@hidakatsuya
Copy link
Member Author

スケジュールでも実行されました。
https://github.com/thinreports/thinreports.github.io/runs/4279199215?check_suite_focus=true

ただ、16:23 GMT に実行されたのが正しいのかわからんけど。

@hidakatsuya
Copy link
Member Author

hidakatsuya commented Nov 23, 2021

1時間間隔だと too much な気がするので、日次に変更しました。毎日 0:00 UTC に実行されます。
225af5d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants