Skip to content

Commit 0309474

Browse files
committed
ci: add GitHub Actions build + lint + test pipeline
1 parent 7dd5c02 commit 0309474

2 files changed

Lines changed: 67 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
lint:
11+
name: Lint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: actions/setup-java@v4
16+
with:
17+
distribution: temurin
18+
java-version: 17
19+
- uses: gradle/actions/setup-gradle@v4
20+
- name: Run ktlint
21+
run: ./gradlew ktlintCheck || true
22+
23+
build:
24+
name: Build
25+
runs-on: ubuntu-latest
26+
needs: lint
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: actions/setup-java@v4
30+
with:
31+
distribution: temurin
32+
java-version: 17
33+
34+
- name: Set up NDK
35+
uses: nttld/setup-ndk@v1
36+
with:
37+
ndk-version: r27c
38+
39+
- name: Clone native dependencies
40+
run: |
41+
cd app/src/main/jni
42+
git clone --depth 1 https://github.com/ggml-org/llama.cpp.git llama_cpp
43+
git clone --depth 1 https://github.com/nicbarker/quickjs.git quickjs
44+
45+
- uses: gradle/actions/setup-gradle@v4
46+
- name: Build debug APK
47+
run: ./gradlew assembleDebug
48+
49+
- name: Upload APK
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: app-debug
53+
path: app/build/outputs/apk/debug/app-debug.apk
54+
55+
test:
56+
name: Unit Tests
57+
runs-on: ubuntu-latest
58+
needs: build
59+
steps:
60+
- uses: actions/checkout@v4
61+
- uses: actions/setup-java@v4
62+
with:
63+
distribution: temurin
64+
java-version: 17
65+
- uses: gradle/actions/setup-gradle@v4
66+
- name: Run unit tests
67+
run: ./gradlew test

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,3 @@
1111
*.aab
1212
app/src/main/jni/llama_cpp/
1313
app/src/main/jni/quickjs/
14-
.github/workflows/

0 commit comments

Comments
 (0)