PPP3: Circle CI (続き5)
10-07 ドキュメントのビルドを実行する
Sphinxのところは読むだけに
やればできそう感はある
10-8 便利な機能
lintが成功したらテストを実行するという例
題材はcalculations.pyに戻ってる
config.yml
version: 2.1
jobs:
lint:
docker:
- image: circleci/python:3.6
steps:
- checkout
- run: |
python3.6 -m venv venv
source ./venv/bin/activate
pip install flake8
flake8 test_calculations.py
Lintをかける部分
flake8 test_calculations.py
っていうのは意図的にやってるんだろうか
普通に考えたらflake8 calculations.py
じゃないかという気がするんだけれども
テストコードだってスタイル合わせはするんだろうけど
test:
...
workflows:
version: 2.1
myworkflow:
jobs:
-lint:
filters:
branches:
only:master
-test:
requires:
- lint
- ブランチがmasterのときだけlintを実行する
- testの実行にはlint(の成功)が必要
わかります
さてpush
やってるかな
やってるやってる
・・・
なんか変だな
testのほうしかやってなくない?
あれ?
ちょっとlintで失敗させてみるか
失敗した
ちゃんとやってるのか
戻す
成功
それはいいんだけどlintの結果が見えないなあ
表示されないのかなあ
・・・
なんか2回やってる?
どうなってんの?
なんかおかしくしちゃった?
・・・
あ
lintとtestが別で表示されてるのか
そういうことか
lintっていうjobとtestっていうjobが走ってJobsの画面見てるわけだからそうなるよな
よく見たら画面の右の方に"myworkflow/lint"とか"myworkflow/test"とか書いてあるし
"myworkflow"をクリックするとlintしてtestしましたよっていうのがビジュアルに表示される
一番上しか見てませんでしたよ
じゃこんどはmaster以外はワークフローが走らないことを確認
ブランチ切って修正してcommitしてpush
なにも起こらない
masterに戻ってmergeしてpush
ジョブ走った
OK