Skip to content

Commit 81ce00c

Browse files
wu-changxingclaudehappy-otter
committed
Add GitHub Actions workflow for APK build and release
- Build debug and release APKs on push to main - Upload APKs as artifacts on every build - Create GitHub release with APKs when tagged with v* Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
1 parent f61b4d1 commit 81ce00c

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Build & Release APK
2+
3+
on:
4+
push:
5+
branches: [main]
6+
tags:
7+
- 'v*'
8+
pull_request:
9+
branches: [main]
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Set up JDK 17
20+
uses: actions/setup-java@v4
21+
with:
22+
java-version: '17'
23+
distribution: 'temurin'
24+
cache: gradle
25+
26+
- name: Grant execute permission for gradlew
27+
run: chmod +x gradlew
28+
29+
- name: Build Debug APK
30+
run: ./gradlew assembleDebug
31+
32+
- name: Build Release APK
33+
run: ./gradlew assembleRelease
34+
35+
- name: Upload Debug APK
36+
uses: actions/upload-artifact@v4
37+
with:
38+
name: oo-chat-debug
39+
path: app/build/outputs/apk/debug/app-debug.apk
40+
41+
- name: Upload Release APK
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: oo-chat-release
45+
path: app/build/outputs/apk/release/app-release-unsigned.apk
46+
47+
release:
48+
needs: build
49+
runs-on: ubuntu-latest
50+
if: startsWith(github.ref, 'refs/tags/v')
51+
52+
steps:
53+
- name: Download Release APK
54+
uses: actions/download-artifact@v4
55+
with:
56+
name: oo-chat-release
57+
58+
- name: Download Debug APK
59+
uses: actions/download-artifact@v4
60+
with:
61+
name: oo-chat-debug
62+
63+
- name: Get version from tag
64+
id: get_version
65+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
66+
67+
- name: Rename APKs
68+
run: |
69+
mv app-release-unsigned.apk oo-chat-${{ steps.get_version.outputs.VERSION }}-release.apk
70+
mv app-debug.apk oo-chat-${{ steps.get_version.outputs.VERSION }}-debug.apk
71+
72+
- name: Create Release
73+
uses: softprops/action-gh-release@v1
74+
with:
75+
name: OO Chat Android v${{ steps.get_version.outputs.VERSION }}
76+
body: |
77+
## OO Chat Android v${{ steps.get_version.outputs.VERSION }}
78+
79+
Native Android chat client for ConnectOnion agents.
80+
81+
### Downloads
82+
- **oo-chat-${{ steps.get_version.outputs.VERSION }}-debug.apk** - Debug build (recommended for testing)
83+
- **oo-chat-${{ steps.get_version.outputs.VERSION }}-release.apk** - Release build (unsigned)
84+
85+
### Features
86+
- Connect to agents by address (0x...)
87+
- Ed25519 signed messages
88+
- Real-time streaming (tool calls, thinking, responses)
89+
- Multi-turn conversations with session persistence
90+
files: |
91+
oo-chat-${{ steps.get_version.outputs.VERSION }}-release.apk
92+
oo-chat-${{ steps.get_version.outputs.VERSION }}-debug.apk
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)