コネヒト開発者ブログ

コネヒト開発者ブログ

GitHub ActionsのManual Workflowを使ってiOSアプリのバージョンをあげる

これはiOSアドベントカレンダーその2の3日目の記事です。

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。

2021年11月にGitHubActionsにmanual workflowが導入されました。これはなにかというとGitHub Actionsに入力値を指定して手動でトリガーをかけて実行できるようになったのです。

コネヒトではiOSアプリをリリースする際にバージョンやビルド番号をセットするのにこれまではスクリプトを手動で実行してコミットしていましたが、これを使えばこれまで手動でやっていたバージョンアップ作業がGitHub Actionsでできそうなので導入してみました。

設定

.github/workflows 以下にこのymlを配置します

# versionup.yml
name: Manual Version up

# 手動で動かしてアプリのバージョンやビルド番号を変更するアクション
#
# アプリのバージョンを上げる場合はversionを指定するとアプリのバージョンとビルド番号がインクリメントされて設定される
# ビルド番号だけ上げたい場合は、Branchでリリースブランチを指定してversionにはなにも設定しない

on:
  workflow_dispatch:
    inputs:
      version:
        description: new app version x.x.x. if empty only the build number will be incremented
        required: false

jobs:
  versionup:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - uses: yanamura/ios-bump-version@v1
      id: version
      with:
        version: ${{ github.event.inputs.version }}
    - name: run
      run: |
        git diff
        git config --global user.name "bot"
        git config --global user.email "bot@example.com"
        git fetch -p
        git checkout -b release-${{ steps.version.outputs.version }}
        git add .
        git commit -m "bump version"
        git push origin HEAD

これで入力でバージョンを指定し、実行するとreleaseブランチをつくってバージョンアップしたコミットをしてpushするworkflowができました。

実行環境にmacOSを使っていますが実行には1分もかからないので無料の範囲内で収まると思います。

実行方法

GitHubのActionsタブのworkflowsの中から追加した Manual Version up を選択します。 f:id:yanamura:20211125143415p:plain

次に Run workflow をクリックし、入力欄にバージョン(例えば1.1.0)を入力し、緑の Run workflow ボタンをクリックすれば実行されます。 f:id:yanamura:20211125143555p:plain

まとめ

このようにmanual workflowを使えば簡単に手動トリガーのworkflowが作成できます。 手動でトリガーをかけたい場面も時々あるかなと思うので活用してみてください!

最後にコネヒトではこういった自動化やSwiftUIに興味のあるエンジニアを募集していますので、少しでもご興味のあるかたはぜひ一度話を聞きに来てください! hrmos.co