fluidsynth/.circleci/config.yml
Jon Latané 21653bd08b
Update Android CircleCI build to use latest orb, Android API, Oboe and Cerbero (#690)
This fixes the currently-broken CircleCI build for Android-useable .so files.

Currently the Cerbero build is based off https://github.com/falrm/cerbero until https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/641 is merged and deployed to the GitHub cerbero mirror.

Here is a successful build with the updated CircleCI workflow: https://app.circleci.com/pipelines/github/falrm/fluidsynth-android/31/workflows/0ad3186a-394c-4736-984b-96496b608053/jobs/32

Fixes #688
2020-10-20 17:09:11 +02:00

61 lines
No EOL
2.6 KiB
YAML

version: 2.1
orbs:
android: circleci/android@0.2.1
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-30
environment:
JVM_OPTS: -Xmx3200m
steps:
- run:
name: Setup Git email and user for Cerbero
command: git config --global user.email "ci@beatscratch.io" && git config --global user.name "CI testing"
# - android/install-ndk:
# ndk-version: android-ndk-r18b
# ndk-sha: 500679655da3a86aecf67007e8ab230ea9b4dd7b
- run:
name: Install FluidSynth build dependencies
command: sudo apt-get update && sudo apt-get install autotools-dev automake autoconf libtool g++ autopoint make cmake
bison flex yasm pkg-config gtk-doc-tools libxv-dev libx11-dev libpulse-dev
python3-dev texinfo gettext build-essential pkg-config doxygen curl libxext-dev
libxi-dev x11proto-record-dev libxrender-dev libgl1-mesa-dev libxfixes-dev
libxdamage-dev libxcomposite-dev libasound2-dev libxml-simple-perl dpkg-dev
debhelper build-essential devscripts fakeroot transfig gperf libdbus-glib-1-dev
wget glib-networking libxtst-dev libxrandr-dev libglu1-mesa-dev libegl1-mesa-dev
git subversion xutils-dev intltool ccache python3-setuptools autogen maven make
- checkout
- run:
name: Build Cerbero and Oboe
working_directory: doc/android
command: |
export TERM=dumb
make -f Makefile.android prepare
- run:
name: Link Cerbero NDK for build
command: |
mkdir -p /home/circleci/android-sdk-linux
echo "android-ndk-21 content"
ls /home/circleci/code/doc/android/external/cerbero/build/android-ndk-21
ln -s /home/circleci/code/doc/android/external/cerbero/build/android-ndk-21 /home/circleci/android-sdk-linux/ndk-bundle
echo "/home/circleci/android-sdk-linux/ndk-bundle content"
ls /home/circleci/android-sdk-linux/ndk-bundle
- run:
name: Build FluidSynth Android
working_directory: doc/android
command: |
export TERM=dumb
make -f Makefile.android
- run:
name: Show directory contents
working_directory: doc/android
command: |
ls -R
- run:
name: Zip FluidSynth Android Distribution
working_directory: doc/android
command: zip -r android-dist.zip dist
- store_artifacts:
path: doc/android/android-dist.zip
destination: android-dist.zip