概要
すぐ忘れてしまいそうなので、自分用にメモ。
自分用のサンプルリポジトリに Travis-CI を導入しようとしていろいろハマったので。。。
Travis CI のサインアップ
なにはともあれ、サインアップしておかないと使えない。github アカウントで サインアップできます。
ログインしたら、対象となるリポジトリにフックを設定してもらいます。
追記:どうも最近は travis-ci.com
の方でpublicもprivateも管理出来るようになってるみたいですね。私は travis-ci.org
です。。
travis-ci.com
と travis-ci.org
の違いについてはここを参考にしました。
travisの設定ファイル作る
YAML形式で、.travis.yml
というファイルを作ります。
今回対象とするリポジトリは python 3.7 を対象なので、ここでちょっと注意が必要です。
そのまま
language: python python: - "3.7"
ってすると、エラーになります。python 3.7 の環境でやりたい場合は
dist: xenial language: python python: - "3.7"
ってしないといけない。
最終的に .travis.yml
は私の場合以下のようにしました。
# ------------------------------------------------------ # Travis-CI Setting file. # # REFENRECES:: http://bit.ly/2Hs0r1H # ------------------------------------------------------ dist: xenial language: python python: - "3.7" install: - pip install -r requirements_travis.txt script: - pytest
wxPython が pip で入らない。。
んで、無事環境できたーってなって、プルリクとかを上げてみて、様子を見ているとエラーになってました・・・。
原因は、wxPython
がちゃんと pip で入ってくれてなくてエラーになっている。
情報を集めてみると、どうも
wxPython の サイトに 各ディストリ用に ビルド済みバイナリ があるのでそれを指定したら入る
ってところにたどり着きました。
以下にあります。
この下に GTK のバージョン毎のディストリ毎にディレクトリがあります。
で、travis 用の requirements ファイルをこうしました。
######################################### # try-python requirements file (CI Environment) # https://pip.pypa.io/en/stable/reference/pip_install/#example-requirements-file ######################################### #--------------------------------------- # Runtime #--------------------------------------- -r requirements.txt #--------------------------------------- # Extra links #--------------------------------------- -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04/ #--------------------------------------- # Travis-CI #--------------------------------------- wxPython; sys_platform == 'linux' pytest
.travis.yml
で xenial
を指定しているので、バージョンは 16.04
で。
最初に読み込んでいる、requirements.txt
の方に wxPython
の行はあるのですが
wxpython; sys_platform != 'linux'
って形で一旦無効化しておいて、travis用のrequirements側でリンク設定と install 行を設定。
なんか、これでうまくいったので、とりあえず私の環境ではオッケイ。
今回の設定は、以下のリポジトリで行いました。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場