60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: Pull Request
|
|
|
|
on: pull_request
|
|
|
|
jobs:
|
|
build:
|
|
name: Build on ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ ubuntu-latest ]
|
|
if: ${{ !startsWith(github.event.head_commit.message, 'docs:') }}
|
|
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: 'recursive'
|
|
fetch-depth: 0
|
|
|
|
- name: Gradle wrapper validation
|
|
uses: gradle/wrapper-validation-action@v3
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'temurin'
|
|
|
|
- name: Prepare env
|
|
run: |
|
|
echo buildWithGitSuffix=true >> local.properties
|
|
mkdir -p ~/.config/.android
|
|
ln -s ~/.config/.android ~/.android
|
|
|
|
- name: Cache gradle
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.gradle/caches
|
|
~/.gradle/wrapper
|
|
~/.config/.android/debug.keystore
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
restore-keys: ${{ runner.os }}-gradle-
|
|
|
|
- name: Gradle prebuild
|
|
run: |
|
|
echo 'org.gradle.jvmargs=-Xmx2048m' >> gradle.properties
|
|
./gradlew prebuild
|
|
|
|
- name: Create debug keystore
|
|
run: |
|
|
[ ! -f ~/.config/.android/debug.keystore ] && keytool -genkey -v -keystore ~/.config/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
|
|
|
|
- name: Build debug
|
|
id: buildDebug
|
|
run: |
|
|
./gradlew :app:assembleDebug
|
|
echo "debugName=$(ls app/build/outputs/apk/debug/*.apk | awk -F '(/|.apk)' '{print $6}')" >> $GITHUB_OUTPUT
|