nextcloud-notes-android/.github/workflows/android.yml

80 lines
2.5 KiB
YAML

# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2020-2024 Stefan Niedermann <info@niedermann.it>
# SPDX-FileCopyrightText: 2023 Álvaro Brey <alvaro.brey@nextcloud.com>
# SPDX-License-Identifier: GPL-3.0-or-later
name: Android CI
on:
pull_request:
push:
branches: [ main, stable-* ]
permissions:
contents: read
jobs:
validation:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
cache: 'gradle'
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@216d1ad2b3710bf005dc39237337b9673fd8fcd5 # v3.3.2
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
cache: 'gradle'
- name: Lint
run: bash ./gradlew lintDevDebug --stacktrace --no-configuration-cache
test:
name: Unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
cache: 'gradle'
- name: Unit tests
run: bash ./gradlew test --stacktrace --no-configuration-cache
apk:
name: Generate APK
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with:
distribution: 'temurin'
java-version: '17'
check-latest: true
cache: 'gradle'
- name: Build debug APK
run: bash ./gradlew assembleDev --stacktrace --no-configuration-cache
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: app-dev-debug
path: app/build/outputs/apk/dev/debug/app-dev-debug.apk