blob: de822c0fbcb9b1edc086505d99954fac4c20447f [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 Blina27c4502019-06-02 21:46:01 -040043cp ${METADATA_FOLDER}/cx.ring.yml ${METADATA_FOLDER}/cx.ring.yml_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050044
Sébastien Blina27c4502019-06-02 21:46:01 -040045head -n -11 ${METADATA_FOLDER}/cx.ring.yml_ > ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050046
Sébastien Blinb51f5f62019-06-15 13:51:16 -040047if [[ ${versionName} =~ ^[0-9]+$ ]]; then
48 versionName="'${versionName}'"
49fi
50
Sébastien Blin6051e452019-06-14 09:26:30 -040051echo " - versionName: ${versionName}
Sébastien Blina27c4502019-06-02 21:46:01 -040052 versionCode: ${versionCode}
53 commit: ${commit}
54 timeout: 10800
55 subdir: client-android/ring-android/app
56 submodules: true
57 gradle:
Sébastien Blin6051e452019-06-14 09:26:30 -040058 - noPush
Sébastien Blina27c4502019-06-02 21:46:01 -040059 rm:
Sébastien Blin6051e452019-06-14 09:26:30 -040060 - client-electron
61 - client-gnome
62 - client-ios
63 - client-macosx
64 - client-uwp
65 - client-windows
66 - docker
67 - docs
68 - lrc
69 - packaging
70 - scripts
Sébastien Blina27c4502019-06-02 21:46:01 -040071 build:
Sébastien Blin6051e452019-06-14 09:26:30 -040072 - cd ../..
73 - export ANDROID_NDK_ROOT=\"\$ANDROID_NDK\"
74 - export ANDROID_ABI=\"armeabi-v7a arm64-v8a x86\"
75 - ./compile.sh --release --no-gradle
Sébastien Blina27c4502019-06-02 21:46:01 -040076 ndk: ${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050077
Pierre Duchemina8b631d2019-01-28 11:03:42 -050078
Sébastien Blina27c4502019-06-02 21:46:01 -040079tail -n 12 ${METADATA_FOLDER}/cx.ring.yml_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050080
Sébastien Blin6051e452019-06-14 09:26:30 -040081echo "CurrentVersion: ${versionName}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blinc5410f12019-06-04 09:20:34 -040082echo "CurrentVersionCode: ${versionCode}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blina27c4502019-06-02 21:46:01 -040083
84rm ${METADATA_FOLDER}/cx.ring.yml_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050085
Sébastien Blincc07cd32019-05-09 10:10:48 -040086releaseDate=`date +%Y%m`
87releaseBranch="release_${releaseDate}"
Sébastien Blin0e245f12019-05-09 10:01:54 -040088
Sébastien Blina27c4502019-06-02 21:46:01 -040089git -C fdroiddata add metadata/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050090git -C fdroiddata commit -s -m "Updates Jami to $versionName"
Sébastien Blin7e1bd6e2019-05-09 14:11:47 -040091git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f
Sébastien Blina1ec18e2019-04-29 14:43:22 -040092git -C fdroiddata status
Pierre Duchemina8b631d2019-01-28 11:03:42 -050093
94FDROID_METADATA_PROJECT_ID=36528
95SFL_METADATA_PROJECT_ID=10540147
96
97if [ $# -ge 4 ] ; then
98 curl --request POST \
Sébastien Blina1ec18e2019-04-29 14:43:22 -040099 --url https://gitlab.com/api/v4/projects/${SFL_METADATA_PROJECT_ID}/merge_requests \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500100 --header 'content-type: application/json' \
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400101 --header "private-token: ${gitlabToken}" \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500102 --data "{
103 \"id\": 1,
104 \"title\": \"New Jami revision\",
105 \"target_branch\": \"master\",
Sébastien Blin0e245f12019-05-09 10:01:54 -0400106 \"source_branch\": \"${releaseBranch}\",
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400107 \"target_project_id\": ${FDROID_METADATA_PROJECT_ID}
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500108 }"
109fi