Flutter用のCI環境をGithubActionsに準備する
やりたいこと
Githubにプッシュするたびにテストとリントを実行するようにしたい。
事前準備
リント用にanalysis_options.yaml
を事前に作成して設定を記述しておく。
workflowsを作成
.github/workflows/[ファイル名].yml
を作成し、以下を記述する。
name: Test and Lint
on:
push:
jobs:
test-and-lint:
name: Run test and lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Run pub get
run: flutter pub get
- name: Run test
run: flutter test
- name: Run analyze
run: flutter analyze
Flutter環境のセットアップにはスター数の多いsubosito/flutter-actionを使用した。バージョンやchannelも指定することができる。詳しくはREADMEを見てほしい。
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
Flutter環境ができたらflutter pub get
でパッケージをインストールし、flutter test
とflutter analyze
でそれぞれテストとリントを実行する。
これでGithubにプッシュするたびにテストとリントが走るようになった。
おわり
GithubActionsはMarketplaceにたくさんのツールがあり、簡単に構築することができて最高だった。
こういったCI環境は早めに整えておいた方が開発しやすいと感じているので皆さんもぜひGithubActionsを使って良き開発ライフを!