drukscode-v2/.github/workflows/android-ci.yml
OpenCode AI e9899d2e6d
Some checks failed
Android CI Build / check (push) Has been cancelled
Android CI Build / package-apks (push) Has been cancelled
Docs Deploy / build (push) Has been cancelled
Module Market Check / Validate modules/ (push) Has been cancelled
Module Market Publish / Generate submissions.json (push) Has been cancelled
Docs Deploy / deploy (push) Has been cancelled
Initial DruksCode V2: fresh fork of web-to-app (f3b488e) with DruksCode identity
- Package rename com.webtoapp -> br.com.drukstech.codeapp
- Product rename WebToApp/web-to-app -> DruksCode/drukscode
- Design system Wta* -> Dkc*
- applicationId br.com.drukstech.codeapp (.play for gplay flavor)
- rootProject.name DruksCode
- Fresh git history (upstream kept as remote for sync)
2026-09-12 02:42:02 +02:00

128 lines
3.6 KiB
YAML

name: Android CI Build
on:
pull_request:
workflow_dispatch:
push:
branches:
- "**"
permissions:
contents: read
concurrency:
# Group per ref AND event type: routine pushes to the same branch still cancel
# their superseded check runs, but a workflow_dispatch packaging run is never
# cancelled by a merge push landing on the same ref mid-build.
group: android-ci-${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: ${{ github.event_name == 'push' }}
jobs:
check:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Download code
uses: actions/checkout@v6
- name: Prepare Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"
- name: Prepare Android tools
uses: android-actions/setup-android@v3
with:
packages: ""
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-provider: basic
- name: Install needed tools
run: |
sdkmanager --install \
"platform-tools" \
"platforms;android-36" \
"build-tools;36.0.0" \
"cmake;3.22.1" \
"ndk;28.2.13676358"
- name: Run checks
run: |
./gradlew --no-daemon --no-configuration-cache \
-Dkotlin.compiler.execution.strategy=in-process \
-PskipShellTemplateSync=true \
-PallowDebugSignedRelease=true \
:app:compileStandardDebugKotlin \
:shell:compileDebugKotlin \
:app:testStandardDebugUnitTest \
:app:checkConfigFieldDrift
package-apks:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- name: Download code
uses: actions/checkout@v6
- name: Prepare Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"
- name: Prepare Android tools
uses: android-actions/setup-android@v3
with:
packages: ""
- name: Prepare Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-provider: basic
- name: Install needed tools
run: |
sdkmanager --install \
"platform-tools" \
"platforms;android-36" \
"build-tools;36.0.0" \
"cmake;3.22.1" \
"ndk;28.2.13676358"
- name: Build APKs
run: |
./gradlew --no-daemon --no-configuration-cache \
-Dkotlin.compiler.execution.strategy=in-process \
-PallowDebugSignedRelease=true \
:app:assembleStandardDebug \
:app:assembleStandardRelease \
:app:assembleGplayDebug \
:app:assembleGplayRelease \
:shell:assembleDebug \
:shell:assembleRelease
- name: Upload standard APKs
uses: actions/upload-artifact@v4
with:
name: standard-apks-DEBUG-SIGNED-do-not-distribute-${{ github.run_number }}
path: |
app/build/outputs/apk/standard/**/*.apk
shell/build/outputs/apk/**/*.apk
if-no-files-found: error
retention-days: 14
- name: Upload gplay APKs
uses: actions/upload-artifact@v4
with:
name: gplay-apks-br.com.drukstech.codeapp.play-DEBUG-SIGNED-do-not-distribute-${{ github.run_number }}
path: app/build/outputs/apk/gplay/**/*.apk
if-no-files-found: error
retention-days: 14