Dart用のCI環境をGithubActionsに準備する
やりたいこと
Githubにプッシュするたびにテストとリントを実行するようにしたい。
今回はピュアなDart環境用のCIを作る。Flutter環境はこちらの記事を参考にされたい。
Flutter用のCI環境をGithubActionsに準備する
事前準備
リント用にanalysis_options.yaml
を事前に作成して設定を記述しておく。
余談だが、analysis_options
の拡張子をyml
としていたら動かなくて詰まった。。
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 Dart SDK
uses: dart-lang/setup-dart@v1
with:
sdk: 2.13.0
- name: Install dependencies
run: dart pub get
- name: Run test
run: dart run test
- name: Run analyze
run: dart analyze
Dart SDKのActionsのMarketplaceで見つけたdart-lang/setup-dart@v1を使用した。バージョンやFlavor等の設定もできる。詳しくはREADMEを参照されたい。
- name: Set up Dart SDK
uses: dart-lang/setup-dart@v1
with:
sdk: 2.13.0
Dart SDKがセットアップできたらdart pub get
でパッケージをインストールし、dart run test
とdart analyze
でそれぞれテストとリントを実行する。
これでGithubにプッシュするたびにテストとリントが走るようになった。
おわり
最近は個人的にTDDがアツいのもあってプライベートでもプロジェクトを始める時は、まずテスト環境とCI環境のセットアップからやっている。
GithubActionsはMarketplaceにActionsがたくさんあり、簡単にCI環境を構築できるので助かっている。