CircleCIを使ってAndroidのテストを実行する
📅 2015/11/18
プライベートなリポジトリはdroneioでコンテナ作ってビルドから通知までやっていました。 GitHubのリポジトリは折角なのでCircleCIで回すことにしました。 その時に罠があったので紹介します。
cache_directoriesの罠
以下のように記載してました。dependencies:
cache_directories:
- $ANDROID_HOME/platforms/android-23
- $ANDROID_HOME/build-tools/23.0.1
- $ANDROID_HOME/extras/android
- $ANDROID_HOME/extras/google
$ANDROID_HOME
が/usr/local/android-sdk-linux
と展開されると期待したら、以下のようなwaringが出ていました。
Warning: circle.yml specified cache directories: /home/ubuntu/android-ci/$ANDROID_HOME/build-tools/23.0.1, /home/ubuntu/android-ci/$ANDROID_HOME/extras/google, /home/ubuntu/android-ci/$ANDROID_HOME/platforms/android-23, /home/ubuntu/android-ci/$ANDROID_HOME/extras/android but they don't exist
/
から始まるものでないと絶対パスとして扱われない…?罠過ぎる。
変数展開を期待してダブルクォーテーションで囲ってみたが相対パス扱いのままだったのでベタ書きすることにしました。
またandroid list sdk -u -a -e
でupdate sdkに使うパッケージ名を出すことができます。
GitHub android-ci