Repository navigation
60 lines (56 loc) · 2.35 KB
/
Copy pathandroid.yml
File metadata and controls
60 lines (56 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: splatkit-android
on:
push:
branches: [main]
pull_request:
# Cancel superseded PR checks; preserve each main commit for the release and mirror gates.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
tooling:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Check harness regressions
run: python3 -m unittest discover -s scripts/tests
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: android-actions/setup-android@v3
with:
packages: "platforms;android-36 build-tools;36.0.0 ndk;27.1.12297006 cmake;3.22.1"
- uses: gradle/actions/setup-gradle@v4
- name: Build the library and the dev app
working-directory: apps/android-dev
run: ./gradlew :splatkit:assembleRelease :app:assembleRelease :splatkit:testDebugUnitTest --no-daemon
- name: Check 16 KB artifact alignment
run: |
python3 scripts/check_android_alignment.py \
--readelf "$ANDROID_HOME/ndk/27.1.12297006/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-readelf" \
--zipalign "$ANDROID_HOME/build-tools/36.0.0/zipalign" \
packages/splatkit-android/build/outputs/aar/splatkit-release.aar \
apps/android-dev/app/build/outputs/apk/release/app-release.apk
- name: Check world frame completion contract on host
run: |
mkdir -p build/native-contracts
c++ -std=c++17 -Wall -Wextra -Wpedantic -Werror \
-I packages/splatkit-android/src/main/cpp \
-I packages/splatkit-engine/include -I packages/splat-core/include \
packages/splatkit-android/src/main/cpp/tests/WorldFrameCompletionTest.cpp \
-o build/native-contracts/world-frame-completion
build/native-contracts/world-frame-completion
- name: Keep the AAR
uses: actions/upload-artifact@v4
with:
name: splatkit-android-release
path: packages/splatkit-android/build/outputs/aar/*.aar
retention-days: 14