GitHub ActionでPythonの複数のバージョンを利用してみる

はじめに

この記事では、「GitHub ActionでPythonの複数のバージョンを利用してみる」について書いています。

GitHub Actionsは非常に便利な機能で色々使えるようになりたい思っており、その中でPythonを複数のバージョンにまたがって動作確認などできるのかなと調べたのが記事を書いたきっかけでした。

自分に向けた備忘録でもありますが、「GitHub ActionでPythonの複数のバージョンを利用してみたい」な人の一助になれば嬉しいです。

本文

早速ですが、Github ActionsでPythonの複数のバージョンを利用してみるためのymlファイルの中身は以下のようになります。

name: run multiple Python versions

on:
    workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10"]

    steps:
      - name: Setup Code
        uses: actions/checkout@v3
      
      - name: Setup Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}

      - name: Display Python version
        run: python -c "import sys; print(sys.version)"

Note

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

処理の内容は以下のようになっています。

  1. python-version: ["3.7", "3.8", "3.9", "3.10"]で使用するPythonのバージョンを設定する
  2. actions/checkout@v3では、リポジトリのコードをチェックアウトする
  3. actions/setup-python@v4Pythonでは、Pythonをセットアップする この記述の2行下にあるpython-version: ${{ matrix.python-version }}で、上のmatrixで指定したバージョンを使うように設定している
  4. python -c "import sys; print(sys.version)"でバージョンを出力する ここのコードでは単にバージョンを出力する処理ですが、もしテストなどの処理を行わせたい場合はこの部分(かそれ以降)に処理を追加すれば大丈夫です。

ではこれで実際にアクションを実行してみましょう。実行結果は下の画像のようになります。

左欄をみると、指定した通り、3.7, 3.8, 3.9, 3.10でJobが実行されているようです。

また、右欄のDisplay Python versionの内容を確認するとPythonのバージョンが出力されています。

おわりに

GitHub ActionでPythonの複数のバージョンを利用してみる」について解説しました。

GitHub ActionsではPythonの複数のバージョンを簡単に利用することができました。

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

さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。合わせて読んでいただくと良いかと思います。

https://docs.github.com/ja/actions/automating-builds-and-tests/building-and-testing-python