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