3
2

AndroidのPRに対して、Bitriseでビルドしていたのですが順列処理なので、ビルドに時間がかかってました。
なので、Github Actionsに切り替えようと思ったのですが、情報があまりなかったので、自分でまとめてみようと思います。

準備

Androidのプロジェクトに下記を追加する。
ファイル名は、任意で大丈夫です。

.github/workflows/pr.yml

Github Actions

pr.yml
name: Pull Request

on:
  pull_request:
    types: [ opened, synchronize, reopened ]

permissions:
  contents: write
  actions: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.base.sha }}
      - name: Setup JDK
        uses: actions/setup-java@v3
        with:
          distribution: adopt
          java-version: 17
          cache: gradle
      - name: Setup Gradle
        uses: gradle/gradle-build-action@v2
      - name: Build With Gradle
        run: |
          ./gradlew assembleDebug

説明

  • PRをオープンまたは、リオープンした場合とPRを更新した際にGithub Actionsが実行されます。
on:
  pull_request:
    types: [ opened, synchronize, reopened ]
  • PRのソースコードを取得します。
      - name: Checkout
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.base.sha }}
  • JDKを取得します。Gradle8.0を使用しているため、JDKのバージョンを17にしてますが、Gradleが低い場合は、11で問題ありません。
      - name: Setup JDK
        uses: actions/setup-java@v3
        with:
          distribution: adopt
          java-version: 17
          cache: gradle
  • Gradleをセットアップします。キャッシュなど自動的に設定してくれます。
      - name: Setup Gradle
        uses: gradle/gradle-build-action@v2
  • ビルドを実行します。
      - name: Build With Gradle
        run: |
          ./gradlew assembleDebug

Bitriseは、UIで設定出来るので楽なのですが複数のプロジェクトがあると順列処理になるので、自分のPRが渋滞して時間がかかることがあります。
Github Actions並列処理をしてくれるので、PRの渋滞など気にしなくなるので楽になります。

3
2
0

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
3
2