Zenn
🚀

FlutterではじめるGithub Actions

2025/03/12に公開

はじめに

記事の概要

Github Actionsとは、ソフトウェア開発のプロセスを自動化するツールです。
ソフトウェア開発のプロセスには、例えば、「テストを実行する」・「プルリクエストを作成した時にAssigneeに作成者を割り当てる」・「TestFlightに配信する」など様々あります。
これらを自動化することで、手作業による単純ミスをなくしたり、作業を効率的に処理することが出来ます。

本記事では、FlutterのテストをGithub Actionsで自動実行する手順について説明します。

環境

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.1, on macOS 15.2 24C101 darwin-arm64 (Rosetta), locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] VS Code (version 1.98.0)
[✓] Connected device (5 available)
[✓] Network resources

• No issues found!

プロジェクトの作成

Flutterプロジェクトの作成

まずは、下記のようにFlutterプロジェクトを作成します。

$ flutter create flutter_github_actions_demo

作成されたFlutterプロジェクトには「test/widget_test.dart」があるはずです。
下記を実行すると、テストを行うことが出来ます。

$ flutter test

上記のテストの実行をGithub Actionsを使って、自動的に実施するようにしていきます。

レポジトリの作成

Githubで新しいレポジトリを作成し、先ほどのFlutterプロジェクトをレポジトリにpushします。

ワークフローの作成

作成したFlutterプロジェクトで、「.github/workflows」フォルダに「flutter-github-actions-demo.yml」ファイルを追加します。

ワークフローの内容は、「flutter-github-actions-demo.yml」ファイルによって定義されるので、このファイルの中を編集していきます。

mainブランチにpushするごとに、Flutterのテストを実行するワークフローを以下のように定義します。

name: Github actions demo for Flutter # ワークフローの名前

on:
  push:
    branches:
      - main # mainブランチにpushした時にワークフローが実行

jobs:
  flutter-test:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository code # STEP1: レポジトリのコードを取得
        uses: actions/checkout@v4
      - name: Set up Flutter # STEP2: Flutterをインストール
        uses: subosito/flutter-action@v2
        with:
          channel: stable
      - name: Fetches and resolves project dependencies # STEP3: 「flutter pub get」を実行
        run: flutter pub get
      - name: Run tests # STEP4: テストを実行
        run: flutter test

pushをすると、GihubのActionsタブでワークフローが実行されていることを確認できます。

詳細を見ると、ちゃんとテストが通っていることも確認できます✅

テストが失敗しているコードをpushすると、テストが失敗していることをGithub Actionsが教えてくれます🎉

おわりに

最後まで記事を読んでくださり、ありがとうございます!
Github Actionsを使って、より良い開発者ライフを過ごしていきましょう😌

Discussion

ログインするとコメントできます