Skip to content

Commit 760540e

Browse files
committed
Add build action example
1 parent 216a641 commit 760540e

3 files changed

Lines changed: 92 additions & 16 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: gradle-setup
2+
description: Setup the Java and Gradle
3+
runs:
4+
using: "composite"
5+
steps:
6+
- name: Setup Java
7+
uses: actions/setup-java@v4.0.0
8+
with:
9+
java-version: "17"
10+
distribution: "temurin"
11+
- name: Setup Gradle
12+
uses: gradle/actions/setup-gradle@v5.0.0

.github/workflows/build.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
workflow_dispatch:
9+
10+
env:
11+
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4096M -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true"
12+
13+
jobs:
14+
test:
15+
name: Run Tests
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Gradle setup
22+
uses: ./.github/actions/gradle-setup
23+
24+
- name: Run unit tests
25+
run: ./gradlew :shared:allTests
26+
27+
- name: Upload test reports
28+
uses: actions/upload-artifact@v4
29+
with:
30+
name: test-reports
31+
path: "**/build/reports/tests/"
32+
33+
build-android:
34+
name: Build Android
35+
runs-on: ubuntu-latest
36+
needs: test
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@v4
40+
41+
- name: Gradle setup
42+
uses: ./.github/actions/gradle-setup
43+
44+
- name: Build Android debug APK
45+
run: ./gradlew :androidApp:assembleDebug
46+
47+
- name: Upload Android debug APK
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: android-apk
51+
path: androidApp/build/outputs/apk/debug/*.apk
52+
53+
54+
build-ios:
55+
name: Build iOS simulator app
56+
runs-on: macos-latest
57+
needs: test
58+
steps:
59+
- name: Checkout
60+
uses: actions/checkout@v4
61+
62+
- name: Gradle setup
63+
uses: ./.github/actions/gradle-setup
64+
65+
- name: Build iOS simulator app
66+
run: |
67+
xcodebuild build \
68+
-project iosApp/iosApp.xcodeproj \
69+
-configuration Debug \
70+
-scheme iosApp \
71+
-sdk iphonesimulator \
72+
-arch arm64 \
73+
-derivedDataPath ./build \
74+
-verbose
75+
76+
- name: Upload App Folder
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: iphonesimulator-app
80+
path: build/Build/Products/Debug-iphonesimulator/*

.github/workflows/push.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)