restructure for 17.1
[GitLab/stricted-build/android_build.git] / .gitlab-ci.yml
1 build:
2 variables:
3 USE_CCACHE: "1"
4 CCACHE_COMPRESS: "1"
5 # the following are added when triggered from API
6 # VERSION
7 # DEVICE
8 # TYPE
9 # OTA
10 # CLEAN
11 # REPOPICK_NUMBERS
12 # REPOPICK_TOPICS
13
14 script:
15 - |
16 if [ ${VERSION} = '17.1' ]; then
17 export CCACHE_EXEC=$(which ccache)
18 export WITHOUT_CHECK_API=true
19 fi
20 PATH="$HOME/bin:$PATH"
21 if [ ${OTA} = 'false' ]; then
22 export LINEAGE_VERSION_APPEND_TIME_OF_DAY=true
23 fi
24 if [ -f ~/android/lineage/${VERSION} ]; then
25 cd ~/android/lineage/${VERSION}
26 else
27 mkdir -p ~/android/lineage/${VERSION}
28 cd ~/android/lineage/${VERSION}
29 if [ ${VERSION} = '14.1' ]; then
30 repo init -u git://github.com/LineageOS/android.git -b cm-${VERSION}
31 else
32 repo init -u git://github.com/LineageOS/android.git -b lineage-${VERSION}
33 fi
34 fi
35 rm -rf .repo/local_manifests/*
36 cp ${CI_PROJECT_DIR}/manifests/lineage-${VERSION}.xml .repo/local_manifests/roomservice.xml
37 repo sync -d -c -j8 --force-sync
38 . build/envsetup.sh
39 if ! [ -z ${REPOPICK_NUMBERS} ]; then
40 for rpnum in ${REPOPICK_NUMBERS//,/ }; do
41 repopick -fr $rpnum
42 done
43 else
44 echo "No repopick numbers chosen"
45 fi
46 if ! [ -z ${REPOPICK_TOPICS} ]; then
47 for rptopic in ${REPOPICK_TOPICS//,/ }; do
48 repopick -fr -t $rptopic
49 done
50 else
51 echo "No repopick topics chosen"
52 fi
53 if [ -f device/*/${DEVICE}/patches/patch.sh ]; then
54 device/*/${DEVICE}/patches/patch.sh
55 fi
56 if [ ${CLEAN} = 'true' ]; then
57 make clean
58 else
59 echo "skip cleaning"
60 fi
61 if [ ${VERSION} = '14.1' ] || [ ${VERSION} = '15.1' ]; then
62 ./prebuilts/sdk/tools/jack-admin list-server && ./prebuilts/sdk/tools/jack-admin kill-server
63 rm -rf ~/.jack*
64 ./prebuilts/sdk/tools/jack-admin install-server ./prebuilts/sdk/tools/jack-launcher.jar ./prebuilts/sdk/tools/jack-server-*.jar
65 export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx12g"
66 ./prebuilts/sdk/tools/jack-admin start-server
67 fi
68 lunch lineage_${DEVICE}-${TYPE}
69 cmka bacon
70 if [ ${VERSION} = '14.1' ] || [ ${VERSION} = '15.1' ]; then
71 ./prebuilts/sdk/tools/jack-admin list-server && ./prebuilts/sdk/tools/jack-admin kill-server
72 fi
73 zipname=$(find out/target/product/${DEVICE}/ -name 'lineage-'${VERSION}'-*.zip' -type f -printf "%f\\n")
74 if [ ${OTA} = 'true' ]; then
75 ssh web52@stricted.net "mkdir -p /var/www/web52/htdocs/lineageos/${DEVICE}/"
76 scp out/target/product/${DEVICE}/$zipname web52@stricted.net:/var/www/web52/htdocs/lineageos/${DEVICE}/
77 ssh web52@stricted.net "cd /var/www/web52/htdocs/lineageos/${DEVICE}/ && sha256sum $zipname > $zipname.sha256sum"
78 ssh web52@stricted.net "php priv/gen_builds_json.php"
79 else
80 ssh web52@stricted.net "mkdir -p /var/www/web52/htdocs/test/${DEVICE}/"
81 scp out/target/product/${DEVICE}/$zipname web52@stricted.net:/var/www/web52/htdocs/test/${DEVICE}/
82 fi
83 only:
84 - triggers
85 - web