diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index afe03059..063d150a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -105,6 +105,7 @@ fedora_latest: - wget --no-verbose -O tools.zip https://dl.google.com/android/repository/tools_r25.2.4-linux.zip - unzip -q tools.zip - rm tools.zip + - export AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py` - export ANDROID_HOME=`pwd`/android-sdk - mkdir $ANDROID_HOME - mv tools $ANDROID_HOME/ @@ -115,7 +116,7 @@ fedora_latest: - mkdir ~/.android - touch ~/.android/repositories.cfg - echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" - - echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.2" + - echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;$AAPT_VERSION" - chown -R testuser . - cd tests - su testuser --login --command diff --git a/.travis.yml b/.travis.yml index edfd9079..87adfa86 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,12 +65,13 @@ install: fi; brew cask install android-sdk; + export AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py`; mkdir -p "$ANDROID_HOME/licenses"; echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"; echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> "$ANDROID_HOME/licenses/android-sdk-license"; echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"; echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools"; - echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.2"; + echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;$AAPT_VERSION"; echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23"; sudo pip3 install babel; diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 82f72c9a..83cb18ab 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -79,6 +79,7 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force): buildserverid = subprocess.check_output(['vagrant', 'ssh', '-c', 'cat /home/vagrant/buildserverid'], cwd='builder').rstrip() + logging.debug(_('Fetched buildserverid from VM: ') + buildserverid) # Open SSH connection... logging.info("Connecting to virtual machine...") @@ -288,6 +289,10 @@ def force_gradle_build_tools(build_dir, build_tools): path) +def _get_build_timestamp(): + return time.strftime("%Y-%m-%d %H:%M:%SZ", time.gmtime()) + + def transform_first_char(string, method): """Uses method() on the first character of string.""" if len(string) == 0: @@ -1055,6 +1060,7 @@ def parse_commandline(): options = None config = None buildserverid = None +starttime = _get_build_timestamp() def main(): @@ -1174,6 +1180,7 @@ def main(): for build in app.builds: wikilog = None + build_starttime = _get_build_timestamp() tools_version_log = '' if not options.onserver: tools_version_log = get_android_tools_version_log(build.ndk_path()) @@ -1270,7 +1277,7 @@ def main(): f.write('versionCode: %s\nversionName: %s\ncommit: %s\n' % (build.versionCode, build.versionName, build.commit)) f.write('Build completed at ' - + time.strftime("%Y-%m-%d %H:%M:%SZ", time.gmtime()) + '\n') + + _get_build_timestamp() + '\n') f.write('\n' + tools_version_log + '\n') f.write(str(e)) logging.error("Could not build app %s: %s" % (appid, e)) @@ -1295,10 +1302,12 @@ def main(): newpage = site.Pages[lastbuildpage] with open(os.path.join('tmp', 'fdroidserverid')) as fp: fdroidserverid = fp.read().rstrip() - txt = "* build completed at " + time.strftime("%Y-%m-%d %H:%M:%SZ", time.gmtime()) + '\n' \ + txt = "* build session started at " + starttime + '\n' \ + + "* this build started at " + build_starttime + '\n' \ + + "* this build completed at " + _get_build_timestamp() + '\n' \ + '* fdroidserverid: [https://gitlab.com/fdroid/fdroidserver/commit/' \ + fdroidserverid + ' ' + fdroidserverid + ']\n\n' - if options.onserver: + if buildserverid: txt += '* buildserverid: [https://gitlab.com/fdroid/fdroidserver/commit/' \ + buildserverid + ' ' + buildserverid + ']\n\n' txt += tools_version_log + '\n\n'