Skip to content

.github/workflows/build.yml #31

.github/workflows/build.yml

.github/workflows/build.yml #31

Workflow file for this run

# build
on:
workflow_dispatch:
inputs:
repository:
default: viamrobotics/rdk
ref:
default: main
jobs:
daily:
runs-on: buildjet-8vcpu-ubuntu-2204
container: ghcr.io/${{ github.repository }}
steps:
- uses: actions/checkout@v4
with:
path: rdk-apk
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository }}
ref: ${{ inputs.ref }}
path: rdk
fetch-tags: true # need tags for git describe
fetch-depth: '250' # for git describe
# todo: put tflite and x264 in same etc/android/prefix, then try pkgconfig
# todo: look at short-lived cache of etc/android/prefix
- name: build x264
if: hashFiles('rdk/etc/android/build-x264.sh') != ''
working-directory: rdk
run: |
make etc/android/prefix/aarch64
make etc/android/prefix/x86_64
- name: build tflite
working-directory: rdk
# we need tflite headers but not the full build. add SRC_ONLY flag
# if: false
run: ANDROID_NDK=$NDK_ROOT KEEP_TFLITE_SRC=1 etc/android/build-tflite.sh
- name: build AAR
working-directory: rdk
run: CGO_CFLAGS="-I $HOME/tensorflow/tensorflow-2.12.0" PLATFORM_NDK_ROOT=$NDK_ROOT NDK_ROOT=$NDK_ROOT make droid-rdk.aar
# todo: pass down APK + RDK version information
- name: build APKs
working-directory: rdk-apk
shell: bash
run: |
mkdir ../dist
source $SDKMAN_DIR/bin/sdkman-init.sh
# todo(review): is it safe to use gradle in path instead of gradlew? or way to make gradlew use system gradle?
RDK_PATH=$(realpath ../rdk/droid-rdk.arm64.aar) gradle --no-daemon assembleDebug
mv app/build/outputs/apk/debug/app-debug.apk \
../dist/rdk-$(date +%y%m%d)-$(cd ../rdk && git describe --tags)-$(git rev-parse --short HEAD).aarch64.apk
RDK_PATH=$(realpath ../rdk/droid-rdk.amd64.aar) gradle --no-daemon assembleDebug
mv app/build/outputs/apk/debug/app-debug.apk \
../dist/rdk-$(date +%y%m%d)-$(cd ../rdk && git describe --tags)-$(git rev-parse --short HEAD).x86_64.apk
- uses: actions/upload-artifact@v4
with:
name: Arm APK
path: dist/*.aarch64.apk
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: x86 APK
path: dist/*.x86_64.apk
if-no-files-found: error