mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-14 11:00:10 +01:00
Merge branch 'build-publish-staging-test' into 'master'
build/publish staging test See merge request !207
This commit is contained in:
commit
bb5c2ec3de
@ -246,6 +246,8 @@ def release_vm():
|
||||
def build_server(app, build, vcs, build_dir, output_dir, force):
|
||||
"""Do a build on the build server."""
|
||||
|
||||
global buildserverid
|
||||
|
||||
try:
|
||||
paramiko
|
||||
except NameError:
|
||||
@ -258,6 +260,10 @@ def build_server(app, build, vcs, build_dir, output_dir, force):
|
||||
sshinfo = get_clean_vm()
|
||||
|
||||
try:
|
||||
if not buildserverid:
|
||||
buildserverid = subprocess.check_output(['vagrant', 'ssh', '-c',
|
||||
'cat /home/vagrant/buildserverid'],
|
||||
cwd='builder').rstrip()
|
||||
|
||||
# Open SSH connection...
|
||||
logging.info("Connecting to virtual machine...")
|
||||
@ -389,7 +395,10 @@ def build_server(app, build, vcs, build_dir, output_dir, force):
|
||||
cmdline += ' --verbose'
|
||||
cmdline += " %s:%s" % (app.id, build.vercode)
|
||||
chan.exec_command('bash --login -c "' + cmdline + '"')
|
||||
|
||||
output = bytes()
|
||||
output += b'== Installed Android Tools ==\n\n'
|
||||
output += get_android_tools_version_log(build.ndk_path()).encode()
|
||||
while not chan.exit_status_ready():
|
||||
while chan.recv_ready():
|
||||
output += chan.recv(1024)
|
||||
@ -952,9 +961,11 @@ def trybuild(app, build, build_dir, output_dir, also_check_dir, srclib_dir, extl
|
||||
return True
|
||||
|
||||
|
||||
def get_android_tools_versions(sdk_path, ndk_path=None):
|
||||
def get_android_tools_versions(ndk_path=None):
|
||||
'''get a list of the versions of all installed Android SDK/NDK components'''
|
||||
|
||||
global config
|
||||
sdk_path = config['sdk_path']
|
||||
if sdk_path[-1] != '/':
|
||||
sdk_path += '/'
|
||||
components = []
|
||||
@ -976,10 +987,10 @@ def get_android_tools_versions(sdk_path, ndk_path=None):
|
||||
return components
|
||||
|
||||
|
||||
def get_android_tools_version_log(sdk_path, ndk_path):
|
||||
def get_android_tools_version_log(ndk_path):
|
||||
'''get a list of the versions of all installed Android SDK/NDK components'''
|
||||
log = ''
|
||||
components = get_android_tools_versions(sdk_path, ndk_path)
|
||||
components = get_android_tools_versions(ndk_path)
|
||||
for name, version in sorted(components):
|
||||
log += '* ' + name + ' (' + version + ')\n'
|
||||
|
||||
@ -1034,11 +1045,12 @@ def parse_commandline():
|
||||
|
||||
options = None
|
||||
config = None
|
||||
buildserverid = None
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
global options, config
|
||||
global options, config, buildserverid
|
||||
|
||||
options, parser = parse_commandline()
|
||||
|
||||
@ -1137,7 +1149,7 @@ def main():
|
||||
for build in app.builds:
|
||||
wikilog = None
|
||||
tools_version_log = '== Installed Android Tools ==\n\n'
|
||||
tools_version_log += get_android_tools_version_log(config['sdk_path'], build.ndk_path())
|
||||
tools_version_log += get_android_tools_version_log(build.ndk_path())
|
||||
try:
|
||||
|
||||
# For the first build of a particular app, we need to set up
|
||||
@ -1206,12 +1218,15 @@ def main():
|
||||
lastbuildpage = appid + '/lastbuild_' + build.vercode
|
||||
newpage = site.Pages[lastbuildpage]
|
||||
with open(os.path.join('tmp', 'fdroidserverid')) as fp:
|
||||
fdroidserverid = fp.read()
|
||||
fdroidserverid = fp.read().rstrip()
|
||||
txt = "* build completed at " + time.strftime("%Y-%m-%d %H:%M:%SZ", time.gmtime()) + '\n' \
|
||||
+ '* fdroidserverid: [https://gitlab.com/fdroid/fdroidserver/commit/' \
|
||||
+ fdroidserverid + ' ' + fdroidserverid + ']\n\n' \
|
||||
+ tools_version_log + '\n\n' \
|
||||
+ '== Build Log ==\n\n' + wikilog
|
||||
+ fdroidserverid + ' ' + fdroidserverid + ']\n\n'
|
||||
if options.onserver:
|
||||
txt += '* buildserverid: [https://gitlab.com/fdroid/fdroidserver/commit/' \
|
||||
+ buildserverid + ' ' + buildserverid + ']\n\n'
|
||||
txt += tools_version_log + '\n\n'
|
||||
txt += '== Build Log ==\n\n' + wikilog
|
||||
newpage.save(txt, summary='Build log')
|
||||
# Redirect from /lastbuild to the most recent build log
|
||||
newpage = site.Pages[appid + '/lastbuild']
|
||||
|
@ -54,15 +54,31 @@ echo "apt_package_cache = True" >> $WORKSPACE/makebuildserver.config.py
|
||||
# this can be handled in the jenkins job, or here:
|
||||
if [ -e fdroiddata ]; then
|
||||
cd fdroiddata
|
||||
git remote update -p
|
||||
git checkout master
|
||||
git pull
|
||||
git reset --hard origin/master
|
||||
cd ..
|
||||
else
|
||||
git clone --depth 1 https://gitlab.com/fdroid/fdroiddata.git fdroiddata
|
||||
fi
|
||||
|
||||
cd fdroiddata
|
||||
echo "build_server_always = True" > config.py
|
||||
|
||||
if [ -z $ANDROID_HOME ]; then
|
||||
if [ -e ~/.android/bashrc ]; then
|
||||
. ~/.android/bashrc
|
||||
else
|
||||
echo "ANDROID_HOME must be set!"
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
../fdroid init --verbose
|
||||
export GNUPGHOME=$WORKSPACE/tests/gnupghome
|
||||
echo "gpghome = '$GNUPGHOME'" >> config.py
|
||||
echo "gpgkey = 'CE71F7FB'" >> config.py
|
||||
echo "build_server_always = True" >> config.py
|
||||
|
||||
# if it can't build fdroid, then its really broken
|
||||
../fdroid build --verbose --stop --latest org.fdroid.fdroid
|
||||
# Gradle, JNI, preassemble
|
||||
@ -71,5 +87,13 @@ echo "build_server_always = True" > config.py
|
||||
../fdroid build --verbose --stop info.guardianproject.checkey:101
|
||||
# building old versions should still work
|
||||
../fdroid build --verbose --stop org.fdroid.fdroid:96150
|
||||
# VLC is important, and uses cmake
|
||||
../fdroid build --verbose --stop org.videolan.vlc:12000604
|
||||
# test OTA update ZIP build and publish
|
||||
../fdroid build --verbose --stop --latest org.fdroid.fdroid.privileged.ota
|
||||
|
||||
# publish process when building and signing are on separate machines
|
||||
test -d repo || mkdir repo
|
||||
test -d archive || mkdir archive
|
||||
../fdroid publish --verbose
|
||||
../fdroid gpgsign --verbose
|
||||
../fdroid update --verbose --nosign
|
||||
../fdroid signindex --verbose
|
||||
|
@ -121,8 +121,8 @@ if config['apt_package_cache']:
|
||||
config['aptcachedir'] = cachedir + '/apt/archives'
|
||||
|
||||
cachefiles = [
|
||||
('https://dl.google.com/android/repository/tools_r25.2.2-linux.zip',
|
||||
'10d5185af8fee80a7ee093585bf84962d0a877b92a8fef489e2030e910f6a360'),
|
||||
('https://dl.google.com/android/repository/tools_r25.2.3-linux.zip',
|
||||
'1b35bcb94e9a686dff6460c8bca903aa0281c6696001067f34ec00093145b560'),
|
||||
('https://dl.google.com/android/repository/android_m2repository_r43.zip',
|
||||
'8a9aa55c894f9c79e835e3930654b26cc829c35260463b6868296d65782e18d1'),
|
||||
('https://dl.google.com/android/repository/android-1.5_r04-linux.zip',
|
||||
|
Loading…
Reference in New Issue
Block a user