概要
GitHub Actions
を使うとGitHub
を使ってCI/CD
を簡単に実装することができます。
- GitHub Actions: https://github.com/features/actions
今回のブログポストではGitHub Actions
を使ってFlutter
プロジェクトのLinter
を実行してコードスタイルを検査して、テストコードを実行する方法について変更点に問題があるかチェックする方法について説明します。
flutter_lints
Flutter
プロジェクトを新しく作ると、コードのスタイルや品質のため基本的flutter_lints
と言うパッケージが一緒にインストールされます。このようにインストールされたflutter_lints
は次のコマンドを使って実行します。
flutter analyze
今回のブログポストでは当該コマンドをGitHub Actions
を使ってPull request
が生成された時実行して、コードのスタイルの一貫性を維持できるようにする予定です。
Flutter
でLinter
を使う方法について詳しく知りたい方は、下記のリンクを使って以前のブログポストを確認してください。
テスト
Flutter
プロジェクトを新しく生成すると、test
フォルダに./lib/main.dart
のテストコードであるwidget_test.dart
ファイルが生成されることが確認できます。
開発をする時、ユニットテストや、ウィゼットテストなどたくさんのテストコードを作成します。このように作成したテストコードは下記のコマンドを使って実行することができます。
flutter test test/widget_test.dart
また、全てのテストコードを実行したい場合は、下記のようなコマンドを使います。
flutter test
今回のブログポストでは全てのテストコードを実行するコマンドをGitHub Actions
を使ってPull request
が生成された時実行するようにして、コードに問題があるか検査するようにする予定です。
GitHub Actions
GitHub Actions
を作成してPull request
が生成される時、Linter
とテストコードを実行するように設定してみましょう。まず、次のコマンドを使ってGitHub Actions
の設定内容を保存するブランチを生成します。
git checkout -b add-github-actions
GitHub Actions
を設定するためFlutter
のプロジェクトフォルダに.github/workflows
フォルダをフォルダを生成します。
このように生成した.github/workflows
フォルダにcode_quality.yml
(ファイル名は変更可能です。)ファイルを生成して次のように修正します。
name: Check and test the source code
on:
pull_request:
branches:
- main
jobs:
test:
name: Check the source code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/[email protected]
with:
flutter-version: '2.10.4'
- name: Install packages
run: flutter pub get
- name: Linter
run: flutter analyze
- name: Test
run: flutter test
このGitHub Actions
はmain
ブランチにPull request
が生成されると実行されます。
...
on:
pull_request:
branches:
- main
...
このGitHub Actions
はUbuntu
サーバーで実行される予定です。
...
jobs:
test:
name: Check the source code
runs-on: ubuntu-latest
...
Ubuntu
サーバが準備できたら、現在のソースコードをダウンロードします。
jobs:
test:
...
steps:
- uses: actions/checkout@v3
...
私たちはFlutter
のLinter
を実行してテストコードを実行する予定なので、Flutter
の開発環境を構築する必要があります。
...
jobs:
test:
name: Check the source code
runs-on: ubuntu-latest
steps:
...
- uses: subosito/[email protected]
with:
flutter-version: '2.10.4'
...
最後に、このように構築された環境で現在Flutter
で使っている全てのパッケージをインストールして、Linter
とテストコードを実行します。
...
jobs:
test:
name: Check the source code
runs-on: ubuntu-latest
steps:
...
- name: Install packages
run: flutter pub get
- name: Linter
run: flutter analyze
- name: Test
run: flutter test
このように修正した内容を次のコマンドを実行してGitHub
に保存します。
git add .
git commit -m 'chore: Add GitHub Actions for code quality'
git push origin add-github-actions
確認
次はGitHub
に移動した後、Pull requests
タブを使ってmain
ブランチにadd-github-actions
ブランチの内容でPull request
を生成します。
そしたら下記のように下のところでGitHub Actions
が上手く動作することが確認できます。
完了
これでGitHub Actions
を使って、Flutter
プロジェクトのコードスタイルと品質を検査するためLinter
やテストコードを実行する方法についてみてみました。皆さんもGitHub Actions
を使ってCI/CD
を構築することができるようになりました。
一人で開発する時はローカルでLefthook
見たいなツールで使ってLinter
とテストコードを実行するように設定することができます。
しかし、色んな開発者と一緒に開発をする時は、GitHub Actions
を使ってCI/CD
を構築するともっと効果的にコードのスタイルや品質を管理することができます。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。