毎回 google_services.json を扱うプロジェクトを Bitrise に載せる時に忘れているので記録まで。初めて扱う人の参考にもなれば。
google_services.json は一般的に .gitignore に記述して git にコミットしないので、CI で Lint を掛けるとコケます。Bitrise の場合はワークフローにファイルを生成するステップを追加できるのでそこで google_services.json を生成するようにして回避します。
- Secrets に変数を定義して google_services.json の中身を保存します(青く記述されている部分に登録するシークレットの中身は、Expose for Pull Request を有効にしない限り安全である旨書かれています)。ここでは GOOGLE_SERVICES_JSON と云う名前の変数を定義しています。
- Workflows で Android Lint の前に Generate Text File のステップを追加します。File Name はプロジェクトに合わせて変更する必要があります。このプロジェクトでは app/ 以下に google_services.json を置いてあるので app/google_services.json のパスでファイルを生成します。ファイルの中身は Insert Variable で先に定義したシークレットを選択します。
bitrise.yaml にもちゃんとステップが追加されています。
- generate-text-file@0.1.0:
inputs:
- file_content: "$GOOGLE_SERVICES_JSON"
- file_name: app/google-services.json
これで Lint でコケることなくビルドを通すことができます。