[Android] CI: Parallelize release lib jobs
Hugo Beauzée-Luyssen
git at videolan.org
Thu Jan 6 13:11:10 UTC 2022
vlc-android | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Fri Nov 26 13:59:53 2021 +0100| [9d3c70322266969ef7f85371b72c73d5546aa598] | committer: Nicolas Pomepuy
CI: Parallelize release lib jobs
> https://code.videolan.org/videolan/vlc-android/commit/9d3c70322266969ef7f85371b72c73d5546aa598
---
buildsystem/gitlab/.gitlab-ci.yml | 60 ++++++++++++++++++++++++++++++++++-----
1 file changed, 53 insertions(+), 7 deletions(-)
diff --git a/buildsystem/gitlab/.gitlab-ci.yml b/buildsystem/gitlab/.gitlab-ci.yml
index b9bc4a1a8..52735bb1d 100644
--- a/buildsystem/gitlab/.gitlab-ci.yml
+++ b/buildsystem/gitlab/.gitlab-ci.yml
@@ -12,6 +12,10 @@ default:
- amd64
- docker
+stages:
+ - build
+ - package
+
.build-all-base:
stage: build
script:
@@ -148,18 +152,60 @@ nightly-x86_64:
- application/app/build/outputs/apk/dev/VLC-Android-*.apk
expire_in: 2 weeks
-publish_libs:
- stage: build
+.build-release-libs-base:
rules:
- - if: '$CI_COMMIT_TAG =~ /^libvlc-.*$/'
+ - if: '$CI_COMMIT_TAG =~ /^libvlc-.*$/'
+ - if: '$CI_PIPELINE_SOURCE == "schedule" && $DEBUG_CI != null'
variables:
- ARCH: all
- M2_REPO: "$CI_PROJECT_DIR/aars/repository"
+ M2_REPO: "$CI_PROJECT_DIR/aars/repository"
+
+.build-libs-base:
+ extends: .build-release-libs-base
+ stage: build
+ script:
+ - mkdir -p $M2_REPO
+ - ./buildsystem/compile.sh -l -a ${ARCH} -m2 $M2_REPO release
+ - ./buildsystem/compile.sh -ml -a ${ARCH} -m2 $M2_REPO release -b
+ artifacts:
+ expire_in: 1h
+ when: on_success
+ paths:
+ - $CI_PROJECT_DIR/libvlc/jni/libs/*
+ - $CI_PROJECT_DIR/medialibrary/jni/libs/*
+ - $CI_PROJECT_DIR/.dbg/*
+
+build-libs-arm64:
+ extends: .build-libs-base
+ variables:
+ ARCH: arm64
+
+build-libs-armv7:
+ extends: .build-libs-base
+ variables:
+ ARCH: arm
+
+build-libs-x86:
+ extends: .build-libs-base
+ variables:
+ ARCH: x86
+
+build-libs-x86_64:
+ extends: .build-libs-base
+ variables:
+ ARCH: x86_64
+
+publish_libs:
+ extends: .build-release-libs-base
+ stage: package
+ needs:
+ - job: "build-libs-arm64"
+ - job: "build-libs-armv7"
+ - job: "build-libs-x86"
+ - job: "build-libs-x86_64"
script:
- mkdir -p $M2_REPO
- - ./buildsystem/compile.sh -l -a ${ARCH} -m2 $M2_REPO release
+ - ./buildsystem/compile.sh --init -b
- GRADLE_ABI=ALL RELEASE_SIGNING_ENABLED=false ./gradlew -Dmaven.repo.local=$M2_REPO -p libvlc publishToMavenLocal
- - ./buildsystem/compile.sh -ml -a ${ARCH} -m2 $M2_REPO release
- GRADLE_ABI=ALL RELEASE_SIGNING_ENABLED=false ./gradlew -Dmaven.repo.local=$M2_REPO -p medialibrary publishToMavenLocal
artifacts:
name: "${CI_COMMIT_TAG}.dbg"
More information about the Android
mailing list