blob: 856e2c592f130a36c7da513b1b89de775d1bfafd [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
Sébastien Blin8bfbefd2020-10-20 10:22:41 -040070 - client-qt
71 - plugins
Sébastien Blin6051e452019-06-14 09:26:30 -040072 - docker
73 - docs
74 - lrc
75 - packaging
76 - scripts
Amin Bandalid1c4d672021-01-04 14:33:59 -050077 prebuild: $ANDROID_HOME/tools/bin/sdkmanager 'platforms;android-30' 'build-tools;30.0.2'
Sébastien Blina27c4502019-06-02 21:46:01 -040078 build:
Sébastien Blin6051e452019-06-14 09:26:30 -040079 - cd ../..
80 - export ANDROID_NDK_ROOT=\"\$ANDROID_NDK\"
Adrien Bérauda2811232020-10-19 15:46:38 -040081 - export ANDROID_ABI=\"armeabi-v7a arm64-v8a x86_64\"
Adrien Béraud471facd2020-09-14 12:58:54 -040082 - ./compile.sh --release --daemon
Sébastien Blina27c4502019-06-02 21:46:01 -040083 ndk: ${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050084
Pierre Duchemina8b631d2019-01-28 11:03:42 -050085
Sébastien Blina27c4502019-06-02 21:46:01 -040086tail -n 12 ${METADATA_FOLDER}/cx.ring.yml_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050087
Sébastien Blin6051e452019-06-14 09:26:30 -040088echo "CurrentVersion: ${versionName}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blinc5410f12019-06-04 09:20:34 -040089echo "CurrentVersionCode: ${versionCode}" >> ${METADATA_FOLDER}/cx.ring.yml
Sébastien Blina27c4502019-06-02 21:46:01 -040090
91rm ${METADATA_FOLDER}/cx.ring.yml_
Pierre Duchemina8b631d2019-01-28 11:03:42 -050092
Sébastien Blincc07cd32019-05-09 10:10:48 -040093releaseDate=`date +%Y%m`
94releaseBranch="release_${releaseDate}"
Sébastien Blin0e245f12019-05-09 10:01:54 -040095
Sébastien Blina27c4502019-06-02 21:46:01 -040096git -C fdroiddata add metadata/cx.ring.yml
Pierre Duchemina8b631d2019-01-28 11:03:42 -050097git -C fdroiddata commit -s -m "Updates Jami to $versionName"
Sébastien Blin7e1bd6e2019-05-09 14:11:47 -040098git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f
Sébastien Blina1ec18e2019-04-29 14:43:22 -040099git -C fdroiddata status
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500100
101FDROID_METADATA_PROJECT_ID=36528
102SFL_METADATA_PROJECT_ID=10540147
103
104if [ $# -ge 4 ] ; then
105 curl --request POST \
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400106 --url https://gitlab.com/api/v4/projects/${SFL_METADATA_PROJECT_ID}/merge_requests \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500107 --header 'content-type: application/json' \
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400108 --header "private-token: ${gitlabToken}" \
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500109 --data "{
110 \"id\": 1,
111 \"title\": \"New Jami revision\",
112 \"target_branch\": \"master\",
Sébastien Blin0e245f12019-05-09 10:01:54 -0400113 \"source_branch\": \"${releaseBranch}\",
Sébastien Blina1ec18e2019-04-29 14:43:22 -0400114 \"target_project_id\": ${FDROID_METADATA_PROJECT_ID}
Pierre Duchemina8b631d2019-01-28 11:03:42 -0500115 }"
116fi