Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | # This script pull/clone a fdroiddata repository |
| 4 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 5 | set -x # Get a more verbose output for Jenkins |
| 6 | |
Sébastien Blin | 67da584 | 2019-05-08 18:53:27 -0400 | [diff] [blame] | 7 | if [ $# -lt 4 ] ; then |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 8 | echo "Usage:" |
| 9 | echo "1: commit" |
| 10 | echo "2: versionName" |
| 11 | echo "3: versionCode" |
Sébastien Blin | 67da584 | 2019-05-08 18:53:27 -0400 | [diff] [blame] | 12 | echo "4: ndkVersion" |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 13 | echo "4: private gitlab.com access token (optional)" |
Sébastien Blin | 67da584 | 2019-05-08 18:53:27 -0400 | [diff] [blame] | 14 | echo "e.g. ./fdroidMergeRequest.sh e5d0d7d2e625e2455fce3d041dd563c45ab9d4a9 20190123 146 r19c djlhsdKH345456DDGfo7" |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 15 | exit |
| 16 | fi |
| 17 | |
| 18 | commit=$1 |
| 19 | versionName="$2" |
| 20 | versionCode=$3 |
Sébastien Blin | 67da584 | 2019-05-08 18:53:27 -0400 | [diff] [blame] | 21 | ndkVersion=$4 |
| 22 | gitlabToken=$5 |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 23 | |
| 24 | if [ -d "fdroiddata" ] |
| 25 | then |
| 26 | echo "fdroiddata repository exists" |
| 27 | git -C fdroiddata checkout master |
| 28 | git -C fdroiddata pull --rebase |
| 29 | else |
| 30 | echo "fdroiddata repository does not exists" |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 31 | git clone git@gitlab.com:savoirfairelinux/fdroiddata.git |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 32 | fi |
| 33 | |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 34 | git -C fdroiddata remote add upstream git@gitlab.com:fdroid/fdroiddata.git |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 35 | git -C fdroiddata fetch upstream || exit |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 36 | git -C fdroiddata status |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 37 | git -C fdroiddata checkout upstream/master |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 38 | git -C fdroiddata config user.name "savoirfairelinux" |
| 39 | git -C fdroiddata config user.email mobile@savoirfairelinux.com |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 40 | |
| 41 | METADATA_FOLDER=fdroiddata/metadata |
| 42 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 43 | cp ${METADATA_FOLDER}/cx.ring.txt ${METADATA_FOLDER}/cx.ring.txt_ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 44 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 45 | head -n -12 ${METADATA_FOLDER}/cx.ring.txt_ > ${METADATA_FOLDER}/cx.ring.txt |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 46 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 47 | echo "Build:${versionName},${versionCode} |
| 48 | commit=${commit} |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 49 | timeout=10800 |
| 50 | subdir=client-android/ring-android/app |
| 51 | submodules=yes |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 52 | 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 Blin | 67da584 | 2019-05-08 18:53:27 -0400 | [diff] [blame] | 58 | ndk=${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.txt |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 59 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 60 | tail -n 13 ${METADATA_FOLDER}/cx.ring.txt_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.txt |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 61 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 62 | echo "Current Version:${versionName}" >> ${METADATA_FOLDER}/cx.ring.txt |
| 63 | echo "Current Version Code:${versionCode}" >> ${METADATA_FOLDER}/cx.ring.txt |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 64 | |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 65 | rm ${METADATA_FOLDER}/cx.ring.txt_ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 66 | |
Sébastien Blin | cc07cd3 | 2019-05-09 10:10:48 -0400 | [diff] [blame] | 67 | releaseDate=`date +%Y%m` |
| 68 | releaseBranch="release_${releaseDate}" |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 69 | |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 70 | git -C fdroiddata add metadata/cx.ring.txt |
| 71 | git -C fdroiddata commit -s -m "Updates Jami to $versionName" |
Sébastien Blin | 7e1bd6e | 2019-05-09 14:11:47 -0400 | [diff] [blame] | 72 | git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 73 | git -C fdroiddata status |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 74 | |
| 75 | FDROID_METADATA_PROJECT_ID=36528 |
| 76 | SFL_METADATA_PROJECT_ID=10540147 |
| 77 | |
| 78 | if [ $# -ge 4 ] ; then |
| 79 | curl --request POST \ |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 80 | --url https://gitlab.com/api/v4/projects/${SFL_METADATA_PROJECT_ID}/merge_requests \ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 81 | --header 'content-type: application/json' \ |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 82 | --header "private-token: ${gitlabToken}" \ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 83 | --data "{ |
| 84 | \"id\": 1, |
| 85 | \"title\": \"New Jami revision\", |
| 86 | \"target_branch\": \"master\", |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 87 | \"source_branch\": \"${releaseBranch}\", |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 88 | \"target_project_id\": ${FDROID_METADATA_PROJECT_ID} |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 89 | }" |
| 90 | fi |