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の渋滞など気にしなくなるので楽になります。