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 | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 43 | cp ${METADATA_FOLDER}/cx.ring.yml ${METADATA_FOLDER}/cx.ring.yml_ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 44 | |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 45 | head -n -11 ${METADATA_FOLDER}/cx.ring.yml_ > ${METADATA_FOLDER}/cx.ring.yml |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 46 | |
Sébastien Blin | b51f5f6 | 2019-06-15 13:51:16 -0400 | [diff] [blame] | 47 | if [[ ${versionName} =~ ^[0-9]+$ ]]; then |
| 48 | versionName="'${versionName}'" |
| 49 | fi |
| 50 | |
Sébastien Blin | 6051e45 | 2019-06-14 09:26:30 -0400 | [diff] [blame] | 51 | echo " - versionName: ${versionName} |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 52 | versionCode: ${versionCode} |
| 53 | commit: ${commit} |
| 54 | timeout: 10800 |
| 55 | subdir: client-android/ring-android/app |
| 56 | submodules: true |
| 57 | gradle: |
Sébastien Blin | 6051e45 | 2019-06-14 09:26:30 -0400 | [diff] [blame] | 58 | - noPush |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 59 | rm: |
Sébastien Blin | 6051e45 | 2019-06-14 09:26:30 -0400 | [diff] [blame] | 60 | - 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 Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 71 | build: |
Sébastien Blin | 6051e45 | 2019-06-14 09:26:30 -0400 | [diff] [blame] | 72 | - 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 Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 76 | ndk: ${ndkVersion}" >> ${METADATA_FOLDER}/cx.ring.yml |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 77 | |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 78 | |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 79 | tail -n 12 ${METADATA_FOLDER}/cx.ring.yml_ | head -n -2 >> ${METADATA_FOLDER}/cx.ring.yml |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 80 | |
Sébastien Blin | 6051e45 | 2019-06-14 09:26:30 -0400 | [diff] [blame] | 81 | echo "CurrentVersion: ${versionName}" >> ${METADATA_FOLDER}/cx.ring.yml |
Sébastien Blin | c5410f1 | 2019-06-04 09:20:34 -0400 | [diff] [blame] | 82 | echo "CurrentVersionCode: ${versionCode}" >> ${METADATA_FOLDER}/cx.ring.yml |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 83 | |
| 84 | rm ${METADATA_FOLDER}/cx.ring.yml_ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 85 | |
Sébastien Blin | cc07cd3 | 2019-05-09 10:10:48 -0400 | [diff] [blame] | 86 | releaseDate=`date +%Y%m` |
| 87 | releaseBranch="release_${releaseDate}" |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 88 | |
Sébastien Blin | a27c450 | 2019-06-02 21:46:01 -0400 | [diff] [blame] | 89 | git -C fdroiddata add metadata/cx.ring.yml |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 90 | git -C fdroiddata commit -s -m "Updates Jami to $versionName" |
Sébastien Blin | 7e1bd6e | 2019-05-09 14:11:47 -0400 | [diff] [blame] | 91 | git -C fdroiddata push origin HEAD:refs/heads/${releaseBranch} -f |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 92 | git -C fdroiddata status |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 93 | |
| 94 | FDROID_METADATA_PROJECT_ID=36528 |
| 95 | SFL_METADATA_PROJECT_ID=10540147 |
| 96 | |
| 97 | if [ $# -ge 4 ] ; then |
| 98 | curl --request POST \ |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 99 | --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] | 100 | --header 'content-type: application/json' \ |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 101 | --header "private-token: ${gitlabToken}" \ |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 102 | --data "{ |
| 103 | \"id\": 1, |
| 104 | \"title\": \"New Jami revision\", |
| 105 | \"target_branch\": \"master\", |
Sébastien Blin | 0e245f1 | 2019-05-09 10:01:54 -0400 | [diff] [blame] | 106 | \"source_branch\": \"${releaseBranch}\", |
Sébastien Blin | a1ec18e | 2019-04-29 14:43:22 -0400 | [diff] [blame] | 107 | \"target_project_id\": ${FDROID_METADATA_PROJECT_ID} |
Pierre Duchemin | a8b631d | 2019-01-28 11:03:42 -0500 | [diff] [blame] | 108 | }" |
| 109 | fi |