80
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Actions で Xcode プロジェクトをビルドしてみる

Last updated at Posted at 2019-08-29

これは何

GitHub Actions で Xcode プロジェクトをビルドする方法のメモです。そもそも GitHub Actions って何よ?という方は下記サイトを御覧ください。

GitHub Actionsについて - GitHub ヘルプ

利用申請

GitHub Actions はまだベータ版であり、利用するには下記URLから申し込む必要があります。
現在はベータが外れています。下記URLからすぐに利用できます。

何日か待つと「使えるようにしたよ〜」といった内容のメールがGitHubから届きます。

とりあえずビルドしてみる

リポジトリのトップページに「Actions」タブが追加されているので「Set up Actions」をクリックしましょう。

スクリーンショット 2019-08-29 21.56.10.png

スタートページが表示されます。ここでサンプルの workflow を動かすこともできますが、今回は右上の「Set up workflow youself」をクリックします。

スクリーンショット 2019-08-29 21.56.54.png

workflow を編集する画面が表示されるので下記の yml を入力してください。

name: CI

on: [push] # git push をトリガーとする

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v1 # ソースコードをcheckout
    - name: Select Xcode version # Xcode 12.4 を使う
      run: sudo xcode-select -s '/Applications/Xcode_12.4.app/Contents/Developer'
    - name: Show Xcode version
      run: xcodebuild -version
    - name: Build # シミュレーター向けにビルド
      run: xcodebuild -sdk iphonesimulator -configuration Debug build 

※利用できる Xcode のバージョン一覧はこちら

せっかくなので上記内容を適当なブランチに push してプルリクエストを作成してみましょう。「Checks」タブで workflow が動いていることが確認できます。

スクリーンショット 2019-08-29 23.24.51.png

これで Xcode プロジェクトをビルドできました!

この要領でテストを実行したり、IPAを書き出したりもできそうですね。

xcodebuild については下記サイトで丁寧に解説されています。

CocoaPods や Carthage を使う

GitHub Actions の仮想環境にはすでに CocoaPods や Carthage がインストールされているので

- name: CocoaPods
  run: pod install
- name: Carthage
  run: carthage bootstrap --platform iOS --cache-builds

のように利用できます。

2019/11/20 追記:キャッシュも使えるようになりました

    - name: Cache CocoaPods files
      uses: actions/cache@preview
      with:
        path: Pods
        key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
        restore-keys: |
          ${{ runner.os }}-pods-
    - name: Cache Carthage files
      uses: actions/cache@v1
      with:
        path: Carthage
        key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }}
        restore-keys: |
          ${{ runner.os }}-carthage-

リンク

80
44
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
80
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?