2024-03-05 19:28:30 +03:00
|
|
|
# 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
|
|
|
|
|
2020-02-23 20:26:57 +03:00
|
|
|
name: Android CI
|
2020-02-23 20:20:34 +03:00
|
|
|
|
2023-02-01 14:51:18 +03:00
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
push:
|
|
|
|
branches: [ main, stable-* ]
|
2020-06-23 11:13:13 +03:00
|
|
|
|
2022-04-15 13:00:19 +03:00
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2020-02-23 20:20:34 +03:00
|
|
|
jobs:
|
2020-03-18 15:36:51 +03:00
|
|
|
validation:
|
|
|
|
name: Validate Gradle Wrapper
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2020-06-23 11:13:13 +03:00
|
|
|
- name: Checkout
|
2024-06-13 01:36:32 +03:00
|
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
2024-04-25 19:36:26 +03:00
|
|
|
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
2024-01-20 12:47:43 +03:00
|
|
|
with:
|
|
|
|
distribution: 'temurin'
|
|
|
|
java-version: '17'
|
|
|
|
check-latest: true
|
|
|
|
cache: 'gradle'
|
2020-06-23 11:13:13 +03:00
|
|
|
- name: Validate Gradle Wrapper
|
2024-04-26 01:35:06 +03:00
|
|
|
uses: gradle/wrapper-validation-action@216d1ad2b3710bf005dc39237337b9673fd8fcd5 # v3.3.2
|
2020-03-18 15:36:51 +03:00
|
|
|
|
2021-05-25 16:28:15 +03:00
|
|
|
lint:
|
|
|
|
name: Lint
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-13 01:36:32 +03:00
|
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
2024-04-25 19:36:26 +03:00
|
|
|
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
2024-01-20 12:47:43 +03:00
|
|
|
with:
|
|
|
|
distribution: 'temurin'
|
|
|
|
java-version: '17'
|
|
|
|
check-latest: true
|
|
|
|
cache: 'gradle'
|
2021-05-25 16:28:15 +03:00
|
|
|
- name: Lint
|
2024-01-20 12:47:43 +03:00
|
|
|
run: bash ./gradlew lintDevDebug --stacktrace --no-configuration-cache
|
2021-05-25 16:28:15 +03:00
|
|
|
|
2020-02-23 20:20:34 +03:00
|
|
|
test:
|
2020-06-23 11:13:13 +03:00
|
|
|
name: Unit tests
|
|
|
|
runs-on: ubuntu-latest
|
2020-02-23 20:20:34 +03:00
|
|
|
steps:
|
2020-06-23 11:13:13 +03:00
|
|
|
- name: Checkout
|
2024-06-13 01:36:32 +03:00
|
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
2024-04-25 19:36:26 +03:00
|
|
|
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
2024-01-20 12:47:43 +03:00
|
|
|
with:
|
|
|
|
distribution: 'temurin'
|
|
|
|
java-version: '17'
|
|
|
|
check-latest: true
|
|
|
|
cache: 'gradle'
|
2020-02-23 20:20:34 +03:00
|
|
|
- name: Unit tests
|
2024-01-20 12:47:43 +03:00
|
|
|
run: bash ./gradlew test --stacktrace --no-configuration-cache
|
2020-02-23 20:20:34 +03:00
|
|
|
|
|
|
|
apk:
|
|
|
|
name: Generate APK
|
2020-06-23 11:13:13 +03:00
|
|
|
runs-on: ubuntu-latest
|
2020-02-23 20:20:34 +03:00
|
|
|
steps:
|
2020-06-23 11:13:13 +03:00
|
|
|
- name: Checkout
|
2024-06-13 01:36:32 +03:00
|
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
2024-04-25 19:36:26 +03:00
|
|
|
- uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
2024-01-20 12:47:43 +03:00
|
|
|
with:
|
|
|
|
distribution: 'temurin'
|
|
|
|
java-version: '17'
|
|
|
|
check-latest: true
|
|
|
|
cache: 'gradle'
|
2020-02-23 20:20:34 +03:00
|
|
|
- name: Build debug APK
|
2024-01-20 12:47:43 +03:00
|
|
|
run: bash ./gradlew assembleDev --stacktrace --no-configuration-cache
|
2020-02-23 20:20:34 +03:00
|
|
|
- name: Upload APK
|
2023-12-18 16:22:15 +03:00
|
|
|
uses: actions/upload-artifact@v4
|
2020-02-23 20:20:34 +03:00
|
|
|
with:
|
2020-03-18 12:23:02 +03:00
|
|
|
name: app-dev-debug
|
2021-10-18 14:19:16 +03:00
|
|
|
path: app/build/outputs/apk/dev/debug/app-dev-debug.apk
|