blob: a74e711e857991c6606842b029ce827420788d72 [file] [log] [blame]
Pierre Duchemina8b631d2019-01-28 11:03:42 -05001#!/usr/bin/env bash
2
3# This script pull/clone a fdroiddata repository
4
Sébastien Blina1ec18e2019-04-29 14:43:22 -04005set -x # Get a more verbose output for Jenkins
6
Sébastien Blin67da5842019-05-08 18:53:27 -04007if [ $# -lt 4 ] ; then
Pierre Duchemina8b631d2019-01-28 11:03:42 -05008 echo "Usage:"
9 echo "1: commit"
10 echo "2: versionName"
11 echo "3: versionCode"
Sébastien Blin67da5842019-05-08 18:53:27 -040012 echo "4: ndkVersion"
Pierre Duchemina8b631d2019-01-28 11:03:42 -050013 echo "4: private gitlab.com access token (optional)"
Sébastien Blin67da5842019-05-08 18:53:27 -040014 echo "e.g. ./fdroidMergeRequest.sh e5d0d7d2e625e2455fce3d041dd563c45ab9d4a9 20190123 146 r19c djlhsdKH345456DDGfo7"
Pierre Duchemina8b631d2019-01-28 11:03:42 -050015 exit
16fi
17
18commit=$1
19versionName="$2"
20versionCode=$3
Sébastien Blin67da5842019-05-08 18:53:27 -040021ndkVersion=$4
22gitlabToken=$5
Pierre Duchemina8b631d2019-01-28 11:03:42 -050023
24if [ -d "fdroiddata" ]
25then
26 echo "fdroiddata repository exists"
27 git -C fdroiddata checkout master
28 git -C fdroiddata pull --rebase
29else
30 echo "fdroiddata repository does not exists"
Sébastien Blin0e245f12019-05-09 10:01:54 -040031 git clone git@gitlab.com:savoirfairelinux/fdroiddata.git
Pierre Duchemina8b631d2019-01-28 11:03:42 -050032fi
33
Sébastien Blin0e245f12019-05-09 10:01:54 -040034git -C fdroiddata remote add upstream git@gitlab.com:fdroid/fdroiddata.git
Pierre Duchemina8b631d2019-01-28 11:03:42 -050035git -C fdroiddata fetch upstream || exit
Sébastien Blina1ec18e2019-04-29 14:43:22 -040036git -C fdroiddata status
Pierre Duchemina8b631d2019-01-28 11:03:42 -050037git -C fdroiddata checkout upstream/master
Sébastien Blina1ec18e2019-04-29 14:43:22 -040038git -C fdroiddata config user.name "savoirfairelinux"
39git -C fdroiddata config user.email mobile@savoirfairelinux.com
Pierre Duchemina8b631d2019-01-28 11:03:42 -050040
41METADATA_FOLDER=fdroiddata/metadata
42
Sébastien Blina1ec18e2019-04-29 14:43:22 -040043cp ${METADATA_FOLDER}/cx.ring.txt ${METADATA_FOLDER}/cx.ring.txt_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050044
Sébastien Blina1ec18e2019-04-29 14:43:22 -040045head -n -12 ${METADATA_FOLDER}/cx.ring.txt_ > ${METADATA_FOLDER}/cx.ring.txt
Pierre Duchemina8b631d2019-01-28 11:03:42 -050046
Sébastien Blina1ec18e2019-04-29 14:43:22 -040047echo "Build:${versionName},${versionCode}
48 commit=${commit}
Pierre Duchemina8b631d2019-01-28 11:03:42 -050049 timeout=10800
50 subdir=client-android/ring-android/app
51 submodules=yes
Pierre Duchemina8b631d2019-01-28 11:03:42 -050052 gradle=noPush
53 rm=client-electron,client-gnome,client-ios,client-macosx,client-uwp,client-windows,docker,docs,lrc,packaging,scripts
54 build=cd ../.. && \\
55 export ANDROID_NDK_ROOT=\"\$ANDROID_NDK\" && \\
56 export ANDROID_ABI=\"armeabi-v7a arm64-v8a x86\" && \\
57 ./compile.sh --release --no-gradle
Sébastien Blin67da5842019-05-08 18:53:27 -040058 ndk=${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.txt
Pierre Duchemina8b631d2019-01-28 11:03:42 -050059
Sébastien Blina1ec18e2019-04-29 14:43:22 -040060tail -n 13 ${METADATA_FOLDER}/cx.ring.txt_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.txt
Pierre Duchemina8b631d2019-01-28 11:03:42 -050061
Sébastien Blina1ec18e2019-04-29 14:43:22 -040062echo "Current Version:${versionName}" >> ${METADATA_FOLDER}/cx.ring.txt
63echo "Current Version Code:${versionCode}" >> ${METADATA_FOLDER}/cx.ring.txt
Pierre Duchemina8b631d2019-01-28 11:03:42 -050064
Sébastien Blina1ec18e2019-04-29 14:43:22 -040065rm ${METADATA_FOLDER}/cx.ring.txt_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050066
Sébastien Blincc07cd32019-05-09 10:10:48 -040067releaseDate=`date +%Y%m`
68releaseBranch="release_${releaseDate}"
Sébastien Blin0e245f12019-05-09 10:01:54 -040069
Pierre Duchemina8b631d2019-01-28 11:03:42 -050070git -C fdroiddata add metadata/cx.ring.txt
71git -C fdroiddata commit -s -m "Updates Jami to $versionName"
Sébastien Blin7e1bd6e2019-05-09 14:11:47 -040072git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f
Sébastien Blina1ec18e2019-04-29 14:43:22 -040073git -C fdroiddata status
Pierre Duchemina8b631d2019-01-28 11:03:42 -050074
75FDROID_METADATA_PROJECT_ID=36528
76SFL_METADATA_PROJECT_ID=10540147
77
78if [ $# -ge 4 ] ; then
79 curl --request POST \
Sébastien Blina1ec18e2019-04-29 14:43:22 -040080 --url https://gitlab.com/api/v4/projects/${SFL_METADATA_PROJECT_ID}/merge_requests \
Pierre Duchemina8b631d2019-01-28 11:03:42 -050081 --header 'content-type: application/json' \
Sébastien Blina1ec18e2019-04-29 14:43:22 -040082 --header "private-token: ${gitlabToken}" \
Pierre Duchemina8b631d2019-01-28 11:03:42 -050083 --data "{
84 \"id\": 1,
85 \"title\": \"New Jami revision\",
86 \"target_branch\": \"master\",
Sébastien Blin0e245f12019-05-09 10:01:54 -040087 \"source_branch\": \"${releaseBranch}\",
Sébastien Blina1ec18e2019-04-29 14:43:22 -040088 \"target_project_id\": ${FDROID_METADATA_PROJECT_ID}
Pierre Duchemina8b631d2019-01-28 11:03:42 -050089 }"
90fi