[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