HMAL-OSS/.github/workflows/pull_request.yml
2025-09-09 20:21:37 +03:00

63 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: |
if [ ! -f ~/.config/.android/debug.keystore ]
then
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"
fi
- 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