diff options
author | Torsten Grote <t@grobox.de> | 2020-03-05 12:49:20 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-03-05 12:49:20 -0300 |
commit | 9a707c24f8b9731c748640eaa94290a491d03d79 (patch) | |
tree | 617b65be9ef854b0ef0563d50630d6b06416942c | |
parent | 0a070b2ac1f174c6f962d37a10f521981514b033 (diff) | |
download | wallet-android-9a707c24f8b9731c748640eaa94290a491d03d79.tar.gz wallet-android-9a707c24f8b9731c748640eaa94290a491d03d79.tar.bz2 wallet-android-9a707c24f8b9731c748640eaa94290a491d03d79.zip |
Add wallet to nightly F-Droid repo
-rw-r--r-- | .gitlab-ci.yml | 46 | ||||
-rw-r--r-- | nightly-stats.patch | 38 |
2 files changed, 84 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..f4bfc45 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,46 @@ +image: registry.gitlab.com/fdroid/ci-images-client:latest + +cache: + paths: + - .gradle/wrapper + - .gradle/caches + +stages: + - test + - deploy + +test: + stage: test + script: ./gradlew lint assembleRelease + +deploy_nightly: + stage: deploy + only: + - master + script: + # Ensure that key exists + - test -z "$DEBUG_KEYSTORE" && exit 0 + # Rename nightly app + - sed -i + 's,<string name="app_name">.*</string>,<string name="app_name">Taler Wallet Nightly</string>,' + app/src/main/res/values*/strings.xml + # Set time-based version code + - export versionCode=$(date '+%s') + - sed -i "s,^\(\s*versionCode\) *[0-9].*,\1 $versionCode," app/build.gradle + # Add commit to version name + - export versionName=$(git rev-parse --short=7 HEAD) + - sed -i "s,^\(\s*versionName\ *\"[0-9].*\)\",\1 ($versionName)\"," app/build.gradle + # Set nightly application ID + - sed -i "s,^\(\s*applicationId\) \"*[a-z\.].*\",\1 \"net.taler.wallet.nightly\"," app/build.gradle + # Build the APK + - ./gradlew assembleDebug + # START only needed while patch not accepted/released upstream + - apt update && apt install patch + - patch /usr/lib/python3/dist-packages/fdroidserver/nightly.py nightly-stats.patch + # END + - CI_PROJECT_URL="https://gitlab.com/gnu-taler/fdroid-repo" CI_PROJECT_PATH="gnu-taler/fdroid-repo" fdroid nightly -v + +after_script: + # this file changes every time but should not be cached + - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock + - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/ diff --git a/nightly-stats.patch b/nightly-stats.patch new file mode 100644 index 0000000..689f46a --- /dev/null +++ b/nightly-stats.patch @@ -0,0 +1,38 @@ +diff --git a/fdroidserver/nightly.py b/fdroidserver/nightly.py +index 0a3a8012..ae3aa0e3 100644 +--- a/fdroidserver/nightly.py ++++ b/fdroidserver/nightly.py +@@ -170,6 +170,7 @@ def main(): + git_mirror_path = os.path.join(repo_basedir, 'git-mirror') + git_mirror_repodir = os.path.join(git_mirror_path, 'fdroid', 'repo') + git_mirror_metadatadir = os.path.join(git_mirror_path, 'fdroid', 'metadata') ++ git_mirror_statsdir = os.path.join(git_mirror_path, 'fdroid', 'stats') + if not os.path.isdir(git_mirror_repodir): + logging.debug(_('cloning {url}').format(url=clone_url)) + try: +@@ -217,6 +218,8 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base, + common.local_rsync(options, git_mirror_repodir + '/', 'repo/') + if os.path.isdir(git_mirror_metadatadir): + common.local_rsync(options, git_mirror_metadatadir + '/', 'metadata/') ++ if os.path.isdir(git_mirror_statsdir): ++ common.local_rsync(options, git_mirror_statsdir + '/', 'stats/') + + ssh_private_key_file = _ssh_key_from_debug_keystore() + # this is needed for GitPython to find the SSH key +@@ -246,7 +249,7 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base, + config += "keydname = '%s'\n" % DISTINGUISHED_NAME + config += "make_current_version_link = False\n" + config += "accepted_formats = ('txt', 'yml')\n" +- # TODO add update_stats = True ++ config += "update_stats = True\n" + with open('config.py', 'w') as fp: + fp.write(config) + os.chmod('config.py', 0o600) +@@ -293,6 +296,7 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base, + subprocess.check_call(['fdroid', 'update', '--rename-apks', '--create-metadata', '--verbose'], + cwd=repo_basedir) + common.local_rsync(options, repo_basedir + '/metadata/', git_mirror_metadatadir + '/') ++ common.local_rsync(options, repo_basedir + '/stats/', git_mirror_statsdir + '/') + mirror_git_repo.git.add(all=True) + mirror_git_repo.index.commit("update app metadata") + |