initial build script
authorStricted <info@stricted.net>
Fri, 9 Nov 2018 20:40:28 +0000 (21:40 +0100)
committerStricted <info@stricted.net>
Fri, 9 Nov 2018 22:10:47 +0000 (23:10 +0100)
Change-Id: I73f348947ed16d5e1427ad02293a4729f1f76186

.gitlab-ci.yml [new file with mode: 0644]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..1e93bdf
--- /dev/null
@@ -0,0 +1,71 @@
+build:
+  variables:
+    USE_CCACHE: "1"
+    CCACHE_COMPRESS: "1"
+    # the following are added when triggered from API
+    # VERSION
+    # DEVICE
+    # TYPE
+    # OTA
+    # CLEAN
+    # REPOPICK_NUMBERS
+    # REPOPICK_TOPICS
+
+  script:
+    - |
+      PATH="$HOME/bin:$PATH"
+      if [ ${OTA} = 'false' ]; then
+        export LINEAGE_VERSION_APPEND_TIME_OF_DAY=true
+      fi
+      cd ~/android/lineage/${VERSION}
+      rm -rf .repo/local_manifests/*
+      cp ${CI_PROJECT_DIR}/manifests/lineage-${VERSION}-${DEVICE}.xml .repo/local_manifests/roomservice.xml
+      repo sync -d -c -j8 --force-sync
+      . build/envsetup.sh
+      if ! [ -z ${REPOPICK_NUMBERS} ]; then
+        for rpnum in ${REPOPICK_NUMBERS//,/ }; do
+          repopick -fr $rpnum
+        done
+      else
+        echo "No repopick numbers chosen"
+      fi
+      if ! [ -z ${REPOPICK_TOPICS} ]; then
+        for rptopic in ${REPOPICK_TOPICS//,/ }; do
+          repopick -fr -t $rptopic
+        done
+      else
+        echo "No repopick topics chosen"
+      fi
+      if [ -f device/*/${DEVICE}/patches/patch.sh ]; then
+        device/*/${DEVICE}/patches/patch.sh
+      fi
+      if [ ${CLEAN} = 'true' ]; then
+        make clean
+      else
+        echo "skip cleaning"
+      fi
+      if [ ${VERSION} = '14.1' ] || [ ${VERSION} = '15.1' ]; then
+        ./prebuilts/sdk/tools/jack-admin list-server && ./prebuilts/sdk/tools/jack-admin kill-server
+        rm -rf ~/.jack*
+        ./prebuilts/sdk/tools/jack-admin install-server ./prebuilts/sdk/tools/jack-launcher.jar ./prebuilts/sdk/tools/jack-server-*.jar
+        export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx12g"
+        ./prebuilts/sdk/tools/jack-admin start-server
+      fi
+      lunch lineage_${DEVICE}-${TYPE}
+      cmka bacon
+      if [ ${VERSION} = '14.1' ] || [ ${VERSION} = '15.1' ]; then
+        ./prebuilts/sdk/tools/jack-admin list-server && ./prebuilts/sdk/tools/jack-admin kill-server
+      fi
+      zipname=$(find out/target/product/${DEVICE}/ -name 'lineage-'${VERSION}'-*.zip' -type f -printf "%f\\n")
+      if [ ${OTA} = 'true' ]; then
+        ssh web52@stricted.net "mkdir -p /var/www/web52/htdocs/lineageos/${DEVICE}/"
+        scp out/target/product/${DEVICE}/$zipname web52@stricted.net:/var/www/web52/htdocs/lineageos/${DEVICE}/
+        ssh web52@stricted.net "cd /var/www/web52/htdocs/lineageos/${DEVICE}/ && sha256sum $zipname > $zipname.sha256sum"
+        ssh web52@stricted.net "php priv/gen_builds_json.php"
+      else
+        ssh web52@stricted.net "mkdir -p /var/www/web52/htdocs/test/${DEVICE}/"
+        scp out/target/product/${DEVICE}/$zipname web52@stricted.net:/var/www/web52/htdocs/test/${DEVICE}/
+      fi
+  only:
+    - triggers
+    - web