GitHub Actions で自動テストを行う方法

GitHub Actions で自動テストを行う方法

Nov 22, 2019

GitHub Actionsを使ったFlutterの自動テストのやり方を紹介します。

このエントリーをはてなブックマークに追加

GitHub Actions とは

GitHub Actionsは 2019/11/13 にリリースされたワークフロー自動化システムです。

リポジトリにプッシュされた時やtagを打った時などをトリガーにビルド・テスト・デプロイなどのワークフローを自動で行ってくれるサービスです。類似サービスとしてTravisCICircleCI がありますが、リポジトリと統合されているのが強みだと思います。

GitHub Actions公式サイト

利用料金

なんと公開リポジトリでは無料です。

非公開リポジトリでは無料枠もありますが、それを超えた場合有料になります。

詳しくは公式サイトを参照してください。

Flutter 対応状況

2019/11/22現在、公式のFlutter用のアクションは提供されていません。 サードパーティのアクションがいくつか提供されています。

今回は上記のアクションを使います。 今回の自動テストを行う場合はこれで十分ですが、長いことメンテされていないのが気になります…

自動テストのやり方

ここではFlutterの自動テストのやり方にフォーマスしますので、GitHub Actionsそのものの使い方の説明はここではしません。このサイトなどを参考にしてください。

設定ファイル.github/workflows/test.ymlを作成して、下記のように書きます。

name: Test

on: [push]

jobs:
  build:
  
  runs-on: ubuntu-latest
	  
  steps:
  - uses: actions/checkout@v1
  - uses: takuyaohashi/setup-flutter@v1
	with:
		flutter-version: 'latest'
  - name: install dependencies
	run: flutter pub get
  - name: analyze
	run: flutter analyze
  - name: test
	run: flutter test

設定ファイルを見たら分かると思いますが、簡単に説明しますと、

  • push をトリガーに
  • ubuntu 上で
  • コードのチェックアウト
  • flutter コマンドの取得
  • flutter analyze
  • flutter test

を順番に実行しています。

バージョンの箇所は変更可能で、Flutter SDK Releaseを参考に必要なバージョンに変更してください。

README にステータスバッジを貼る

Actions Status

こんな感じのステータスバッジを README に貼ることができます。

下記設定のaccount namerepository nameworkflow nameを置き換えて、README に貼ってください。workflow nameは先程の設定ファイルのnameの部分です。

[![Actions Status](https://github.com/{account name}/{repository name}/workflows/{workflow name}/badge.svg)](https://github.com/{account name}/{repository name}/actions)

サンプルリポジトリ

Flutterpackageを対象に自動テストを行うサンプルリポジトリを作成してみました。

実際に動いているコードも参考にしてみてください。

このエントリーをはてなブックマークに追加