84 lines
2.6 KiB
YAML
84 lines
2.6 KiB
YAML
name: Build RingRTC Android Artifacts
|
|
run-name: Build RingRTC Android Artifacts (${{ github.ref_name }})
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
dry_run:
|
|
description: "When true, don't publish"
|
|
default: false
|
|
required: false
|
|
type: boolean
|
|
runner:
|
|
description: "Linux runner:"
|
|
default: 'ubuntu-24.04-4-cores'
|
|
required: true
|
|
type: string
|
|
workflow_call:
|
|
inputs:
|
|
dry_run:
|
|
description: "When true, don't publish"
|
|
default: true
|
|
required: true
|
|
type: boolean
|
|
runner:
|
|
description: "Linux runner:"
|
|
default: 'ubuntu-24.04-4-cores'
|
|
required: true
|
|
type: string
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
NDK_VERSION: '28.0.13004108'
|
|
|
|
jobs:
|
|
build_android:
|
|
name: Build Android
|
|
|
|
permissions:
|
|
contents: 'read'
|
|
# Needed for google-github-actions/auth.
|
|
id-token: 'write'
|
|
|
|
runs-on: ${{ inputs.runner }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install NDK
|
|
run: echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;${{ env.NDK_VERSION }}"
|
|
|
|
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal --target aarch64-linux-android,armv7-linux-androideabi,x86_64-linux-android,i686-linux-android
|
|
|
|
- name: Install protoc
|
|
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
|
|
|
|
- name: set up JDK 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- run: ./bin/fetch-artifact --platform android --release
|
|
|
|
- run: ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$NDK_VERSION" ./bin/build-aar --ringrtc-only --release
|
|
if: ${{ inputs.dry_run }}
|
|
|
|
- id: gcp-auth
|
|
uses: google-github-actions/auth@v2
|
|
if: ${{ !inputs.dry_run }}
|
|
with:
|
|
workload_identity_provider: 'projects/741367068918/locations/global/workloadIdentityPools/github/providers/github-actions'
|
|
service_account: 'github-actions@signal-build-artifacts.iam.gserviceaccount.com'
|
|
token_format: 'access_token'
|
|
|
|
- run: ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$NDK_VERSION" ./bin/build-aar --ringrtc-only --release
|
|
if: ${{ !inputs.dry_run }}
|
|
env:
|
|
CLOUDSDK_AUTH_ACCESS_TOKEN: ${{ steps.gcp-auth.outputs.access_token }}
|
|
# The last 8 characters of the key ID
|
|
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEYID }}
|
|
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
|
|
# ASCII-armored PGP secret key
|
|
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
|