Skip to content

PR ビルドの環境を作る #780

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

Open
cocoatomo opened this issue Feb 21, 2018 · 3 comments
Open

PR ビルドの環境を作る #780

cocoatomo opened this issue Feb 21, 2018 · 3 comments
Assignees
Labels

Comments

@cocoatomo
Copy link
Contributor

訳文の修正 PR を python-docs-ja に対して出せるようにし、訳文への指摘を出しやい手段を提供することを目的とする。

@cocoatomo
Copy link
Contributor Author

cocoatomo commented Feb 21, 2018

構成案は以下の通り。

  1. python-docs-ja への PR をトリガーとして、CI サービスで PR ビルドを走らせ、決まった場所にビルドしたドキュメントを公開する。
  2. そのドキュメントを見て確認ができたら、何らかの方法で承認/却下の判断を記録、次の処理へ伝える。
  3. 却下の場合は PR にその旨を表示し処理は終了。PR の改善を行い更新することで「1」の手順を起動する。
  4. 承認の場合は PR にその旨を表示し、PR のマージを行い、変更のあった .po ファイルを Transifex へアップロードする。
  5. 数日待つとドキュメントが docs.python.org に公開される。

@cocoatomo cocoatomo added the TODO label Feb 21, 2018
@cocoatomo
Copy link
Contributor Author

主に課題となるのは、レポジトリの認証まわりになる。

  1. PRビルドで作成したドキュメントファイルをどうやってpushするか?
    • 対応策: 秘密鍵をsecretファイルに追加しておく
  2. PRおよびPR更新後の承認/却下はどう行う?
    • 対応策: 承認/却下は普段のPRと同じように行う。
    • 対応策: push, PR, PR-Mergeの3パターンで別々の処理を動かす
  3. Transifexへのアップロードはどうする?
    • 対応策: 秘密鍵があるのでtxコマンドでアップロード
    • 対応策: git diffで変更があったファイルだけをアップロード

@cocoatomo cocoatomo self-assigned this Mar 28, 2020
@cocoatomo
Copy link
Contributor Author

PRビルドをTravis CIという外部のCI/CDサービスで行ったとき、設定してあったsecretが使えない(恐らくsecretが漏れるのを防ぐため)問題に引っ掛かっており、なかなかいい構成方法が思い浮かばなかった。

GitHub Actionが出てきてくれたおかげで一時的なGH_TOKENが扱えるようになり、ビルド後にドキュメントをpython/python-docs-jaのgh-pagesにpushできるようになった。

現在、実装が済んでいるのは、次の機能。

  1. PRが出されたときに、そのPRをマージしたソースコードでドキュメントをビルドし、GitHub Pagesに公開する。さらに、PRページドキュメントが公開されている場所のURLをコメントする。
  2. PRを閉じたときに、ビルドしたドキュメントを削除する。

次の機能が実装が済んでいない。

  1. PRがマージされたときに、ビルドしたドキュメントを削除する。

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

No branches or pull requests

1 participant