blob: d6990d01e4f88f25e90efc3c52304bac2a5f3605 [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
Sébastien Blin45dd59c2020-06-10 10:20:30 -040057 sudo:
Sébastien Blin0a0935c2020-08-10 11:31:47 -040058 - apt-get update || apt-get update
59 - apt-get install -y -t testing swig
60 - apt-get install -y -t stretch-backports-sloppy libarchive13
61 - apt-get install -y -t stretch-backports cmake
Sébastien Blina27c4502019-06-02 21:46:01 -040062 gradle:
Sébastien Blin6051e452019-06-14 09:26:30 -040063 - noPush
Sébastien Blina27c4502019-06-02 21:46:01 -040064 rm:
Sébastien Blin6051e452019-06-14 09:26:30 -040065 - client-electron
66 - client-gnome
67 - client-ios
68 - client-macosx
69 - client-uwp
70 - client-windows
71 - docker
72 - docs
73 - lrc
74 - packaging
75 - scripts
Sébastien Blina27c4502019-06-02 21:46:01 -040076 build:
Sébastien Blin6051e452019-06-14 09:26:30 -040077 - cd ../..
78 - export ANDROID_NDK_ROOT=\"\$ANDROID_NDK\"
79 - export ANDROID_ABI=\"armeabi-v7a arm64-v8a x86\"
Adrien Béraud471facd2020-09-14 12:58:54 -040080 - ./compile.sh --release --daemon
Sébastien Blina27c4502019-06-02 21:46:01 -040081 ndk: ${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050082
Pierre Duchemina8b631d2019-01-28 11:03:42 -050083
Sébastien Blina27c4502019-06-02 21:46:01 -040084tail -n 12 ${METADATA_FOLDER}/cx.ring.yml_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050085
Sébastien Blin6051e452019-06-14 09:26:30 -040086echo "CurrentVersion: ${versionName}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blinc5410f12019-06-04 09:20:34 -040087echo "CurrentVersionCode: ${versionCode}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blina27c4502019-06-02 21:46:01 -040088
89rm ${METADATA_FOLDER}/cx.ring.yml_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050090
Sébastien Blincc07cd32019-05-09 10:10:48 -040091releaseDate=`date +%Y%m`
92releaseBranch="release_${releaseDate}"
Sébastien Blin0e245f12019-05-09 10:01:54 -040093
Sébastien Blina27c4502019-06-02 21:46:01 -040094git -C fdroiddata add metadata/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050095git -C fdroiddata commit -s -m "Updates Jami to $versionName"
Sébastien Blin7e1bd6e2019-05-09 14:11:47 -040096git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f
Sébastien Blina1ec18e2019-04-29 14:43:22 -040097git -C fdroiddata status
Pierre Duchemina8b631d2019-01-28 11:03:42 -050098
99FDROID_METADATA_PROJECT_ID=36528
100SFL_METADATA_PROJECT_ID=10540147
101
102if [ $# -ge 4 ] ; then
103 curl --request POST \
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400104 --url https://gitlab.com/api/v4/projects/${SFL_METADATA_PROJECT_ID}/merge_requests \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500105 --header 'content-type: application/json' \
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400106 --header "private-token: ${gitlabToken}" \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500107 --data "{
108 \"id\": 1,
109 \"title\": \"New Jami revision\",
110 \"target_branch\": \"master\",
Sébastien Blin0e245f12019-05-09 10:01:54 -0400111 \"source_branch\": \"${releaseBranch}\",
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400112 \"target_project_id\": ${FDROID_METADATA_PROJECT_ID}
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500113 }"
114fi