これは,総会議案書のテンプレートリポジトリです. コマンドを使って簡単に総会議案書リポジトリを生成することができます.
セットアップですべきことは,次の2つです.
- リポジトリのセットアップ
- テンプレートファイルとGitHubの課題の生成
- CIのセットアップ
1つ目はリポジトリのセットアップです.以下の通りにセットアップしてください.
$ git clone git@github.com:ritscc/soukai-template.git
でこのテンプレートをcloneしてください.(ここでフォークではないことに注意してください.)- 自身のターミナルで
soukai-template
フォルダがあるディレクトリに移動してください. $ cp -r soukai-template soukai-{年度}-{回数}
を実行してください. (e.g.)cp -r soukai-template soukai-2019-2
- コピーした先のディレクトリに移動してください.
$ git remote -v
を実行してorigin
が表示されていることを確認してください.$ git remote rm origin
を実行してください.$ git remote -v
を実行して何も表示されないことを確認してください.- GitHub にアクセスして新しいリポジトリを作成してください.
名前は
soukai-{年度}-{回数}
としましょう. $ git remote add origin git@github.com:ritscc/soukai-{年度}-{回数}.git
を実行します. (e.g.)git remote add origin git@github.com:ritscc/soukai-2019-1.git
$ git remote -v
を実行してorigin
が表示されていることを確認してください.$ git push -u origin master
を実行してください.- GitHub上でリポジトリが更新されたことを確認します.
$ mv .github.sample .github
を実行します.$ git add -A
$ git commit -m 'setup github actions'
$ git push
を順に実行します.
セットアップ作業の2つ目は, 担当者が編集するファイルの間違いを少なくし, すべての担当部分を課題として管理できるようにするために必要です. これらの作業は,Pythonスクリプトと設定ファイルを用いることで,簡単に設定することができます. 作業方法は,このあとの「setup.pyについて」やREADME_setup.mdをご覧ください.
3つ目のCIとは,継続的インテグレーションのことです. 設定を行うと,次のことがコミットのタイミングなどで自動的に行われるようになります.
- 誤字や表記ゆれの指摘をGitHubのPull requestsにコメント
人手でやることを減らせるので,設定することを推奨します. リポジトリを作成したら一番に設定しましょう. 作業方法は,README_CI.mdをご覧ください.
年度などの初期設定をしたり,テンプレートファイルを生成するツールです. soukai-templateからコピーした直後や,各局のブランチを作るときに使ってください.
Pythonの動作環境は以下の通りです.
- Python ver3.7
- 必須ライブラリ
- jinja2
- pyyaml
必須ライブラリは
$ pip install jinja2
$ pip install pyyaml
でインストールしてください
soukai-templateからコピーした後の作業の大まかな流れは以下のようになります.
- 以下のコマンドを実行して,年度などの情報を設定する.
$ cd setup $ python setup.py init
- 生成されたassignee.ymlを書き換える.
- 以下のコマンドを実行して,予めsubsection以降の文書を書くためのテンプレートファイルを生成する.
$ python setup.py g
- 以下のコマンドを実行して,GitHubのリポジトリにissueを発行する.
$ python setup.py i
必ずこのツールを使って,予めsubsection以降の文書を書くためのファイルを生成して, それを編集するように呼びかけてください. これはコンフリクトを避けるためです. タスクを作成する時に編集するべきファイルパスを明示しておくと混乱が減ると思われます.
詳しくは,README_setup.mdを見てください.
継続的インテグレーションを支援するサービスとしてGitHub Actionsが利用できます. これらを用いて,総会文書のビルドを自動化しています. CIのセットアップ方法については,README_CI.mdに詳しく紹介しています.