GitHub ActionsでPythonのpytestを自動実行してみた

はじめに

この記事では、「GitHub ActionsでPythonのpytestを自動実行する方法と実際に試してみた結果」について書いています。

GitHub Actionsは非常に便利な機能で色々使ってみようと思い、Pythonのpytestを自動で実行できるようにしてみようと考えたのが記事を書いたきっかけでした。

自分に向けた備忘録でもありますが、「GitHub ActionsでPythonのpytestを自動実行させてみたい」な人の一助になれば嬉しいです。

本文

早速ですが、Github Actionsでpytestを自動で行わせるためのymlファイルの中身は以下のようになります。

name: Run pytest

on: [workflow_dispatch]

jobs:
  pytest:
    runs-on: ubuntu-latest

    steps:
      - name: Setup code
        uses: actions/checkout@v2

      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.9
          
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest
          
      - name: Execute pytest
        run: |
          python -m pytest
        continue-on-error: true

Note

上の例では実験をしやすくするためにトリガーをon: [workflow_dispatch]と手動実行だけにしています。 実際に自動で行わせるためにはpushなどのトリガーを設定する必要があります。

処理の内容はシンプルで以下のようになっています。

  1. リポジトリのコードをチェックアウトする
  2. Pythonを使うので、Pythonを(バージョン3.9で)セットアップする
  3. pytestをインストールする
  4. pytestを実行する

この段階ではまだサマリなど見やすい形での出力ではありませんが、第一段階としては十分かと思います。

ではこれで実際にアクションを実行してみたいと思います。

pytestのコードが書かれたリポジトリに対して上のアクションを実行した結果が以下の図になります。

Execute pytestの項を見るとちゃんとpytestが実行され、またその結果が出力されています。

GitHub ACtions上でpytestを実行することに成功したようです。

おわりに

GitHub ActionsでPythonのpytestを自動実行する方法と実際に試してみた結果」について解説しました。

今回は単純にpytestを実行させてみただけですが、ここから更にサマリの形式で出力させることも出来るようです。

GitHub Actionsは非常に便利な機能で様々なことを自動化できるので、是非みなさんも活用してみてください。