Files
vlc-android/.gitlab-ci.yml
2019-08-23 10:31:15 +02:00

169 lines
3.5 KiB
YAML

cache:
paths:
- .gradle/
- gradle-5.4.1/
- gradle/
- gradlew
.build-all-base:
image: registry.videolan.org:5000/vlc-debian-android:20190507015459
tags:
- debian
- android
stage: build
script:
- ./compile.sh ${EXTRA_BUILD_PARAM} -a ${ARCH}
variables:
MAKEFLAGS: -j8
# Rebuilds libvlc JNI
.build-libvlc-base:
extends: .build-all-base
only:
refs:
- master
- merge_requests
changes:
- libvlc/**/*
- build-common
- compile.sh
- compile-libvlc.sh
except:
- schedules
variables:
EXTRA_BUILD_PARAM: -l
# rebuild the medialibrary JNI component
# This implies rebuilding VLC beforehand
.build-ml-base:
extends: .build-all-base
only:
refs:
- master
- merge_requests
changes:
- medialibrary/**/*
- compile.sh
- build-common
- compile-libvlc.sh
- compile-medialibrary.sh
except:
- schedules
variables:
EXTRA_BUILD_PARAM: -ml
# vlc-android app only: don't rebuild everything but use a published artifact
continuous-app-build:
extends: .build-all-base
script:
- ./compile.sh --init
- ./gradlew assembleDebug
only:
refs:
- master
- merge_requests
changes:
- vlc-android/**/*
- assets/**/*
- .gitlab-ci.yml
except:
refs:
- schedules
changes:
- build-common
- compile-libvlc.sh
- compile-medialibrary.sh
- compile.sh
- libvlc/**/*
- medialibrary/**/*
#################################
# Template config instantiation #
#################################
build-libvlc-arm64:
extends: .build-libvlc-base
variables:
ARCH: arm64
build-libvlc-armv7:
extends: .build-libvlc-base
variables:
ARCH: arm
build-libvlc-x86:
extends: .build-libvlc-base
variables:
ARCH: x86
build-libvlc-x86_64:
extends: .build-libvlc-base
variables:
ARCH: x86_64
build-ml-arm64:
extends: .build-ml-base
variables:
ARCH: arm64
build-ml-armv7:
extends: .build-ml-base
variables:
ARCH: arm
build-ml-x86:
extends: .build-ml-base
variables:
ARCH: x86
build-ml-x86_64:
extends: .build-ml-base
variables:
ARCH: x86_64
# Nightly builds: build native & app code, and ship the APK as artifact
nightly-arm64:
extends: .build-all-base
only:
- schedules
variables:
ARCH: arm64
artifacts:
paths:
- vlc-android/build/outputs/apk/dev/VLC-Android-*.apk
expire_in: 2 weeks
nightly-armv7:
extends: .build-all-base
only:
- schedules
variables:
ARCH: arm
artifacts:
paths:
- vlc-android/build/outputs/apk/dev/VLC-Android-*.apk
expire_in: 2 weeks
nightly-x86:
extends: .build-all-base
only:
- schedules
variables:
ARCH: x86
artifacts:
paths:
- vlc-android/build/outputs/apk/dev/VLC-Android-*.apk
expire_in: 2 weeks
nightly-x86_64:
extends: .build-all-base
only:
- schedules
variables:
ARCH: x86_64
artifacts:
paths:
- vlc-android/build/outputs/apk/dev/VLC-Android-*.apk
expire_in: 2 weeks