add CI for gst-examples android build

This commit is contained in:
Matthew Waters 2019-03-24 17:56:01 +11:00
parent ab873b5e58
commit c4a3df759d
3 changed files with 66 additions and 0 deletions

View file

@ -7,6 +7,8 @@ stages:
# Run multiple builds and tests, multi-distro, multi-arch
- "full builds"
- "full tests"
# build some apps to check that cross-platform binaries are usable
- "apps"
test manifest:
variables:
@ -172,3 +174,13 @@ check fedora local:
extends: '.test fedora x86_64 local'
variables:
TEST_SUITE: 'check.gst*'
android universal examples local:
extends: '.android universal examples'
image: "${CI_REGISTRY_IMAGE}/amd64/android:latest"
dependencies:
- "build cerbero android universal local"
when: 'manual'
except:
refs:
- "master@gstreamer/gst-ci"

View file

@ -28,6 +28,7 @@ GSTREAMER_MODULES: List[str] = [
'gst-rtsp-server',
'gstreamer-vaapi',
'gst-integration-testsuites',
'gst-examples',
]
MANIFEST_TEMPLATE: str = """<?xml version="1.0" encoding="UTF-8"?>

View file

@ -6,8 +6,11 @@ stages:
# Run multiple builds and tests, multi-distro, multi-arch
- 'full builds'
- 'full tests'
# build some apps to check that cross-platform binaries are usable
- 'apps'
variables:
ANDROID_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/android:2019-03-26-196225'
CERBERO_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/cerbero-fedora:7ed820aa1fcf95938cc161e397b1bf455f1f5b74'
FEDORA_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/fedora:fb91ee18309ab981289aa818ab2a7824ef0567a1'
INDENT_IMAGE: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/gst-indent:6f7e01e1e30a73efa880acdc8e911f1f20c58dbb'
@ -637,3 +640,53 @@ build cerbero cross win64:
except:
variables:
- $CI_PROJECT_NAME == "cerbero"
#
# Build an Android App using the android binaries
#
.android universal examples:
image: $ANDROID_IMAGE
stage: 'apps'
variables:
EXAMPLES_HOME: ${CI_PROJECT_DIR}/examples
GSTREAMER_ROOT_ANDROID: ${CI_PROJECT_DIR}/examples/cerbero-android-universal
script:
- mkdir -p ${EXAMPLES_HOME}
- curl -o clone_manifest_ref.py https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/clone_manifest_ref.py
- chmod +x clone_manifest_ref.py
- ./clone_manifest_ref.py --manifest manifest.xml --project gst-examples --destination ${EXAMPLES_HOME}/gst-examples
- rm clone_manifest_ref.py
# extract our binaries
- rm -f gstreamer-1.0-android-universal-*-runtime.tar.bz2
- mkdir ${GSTREAMER_ROOT_ANDROID}
- tar -C ${GSTREAMER_ROOT_ANDROID} -xf gstreamer-1.0-android-universal-*.tar.bz2
- chmod +x ${EXAMPLES_HOME}/gst-examples/playback/player/android/gradlew
- ${EXAMPLES_HOME}/gst-examples/playback/player/android/gradlew --no-search-upward --no-daemon --project-dir ${EXAMPLES_HOME}/gst-examples/playback/player/android assembleDebug
after_script:
- rm -rf ${GSTREAMER_ROOT_ANDROID}
- mv gstreamer-1.0-android-universal-*.tar.bz2 ${EXAMPLES_HOME}/
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
expire_in: '5 days'
when: 'always'
paths:
- "manifest.xml"
- "${EXAMPLES_HOME}"
android universal examples:
extends: ".android universal examples"
dependencies:
- "build cerbero android universal"
except:
variables:
- $CI_PROJECT_NAME == "cerbero"
cerbero android universal examples:
extends: ".android universal examples"
dependencies:
- "cerbero android universal"
only:
variables:
- $CI_PROJECT_NAME == "cerbero"