1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-16 11:50:10 +01:00
Commit Graph

326 Commits

Author SHA1 Message Date
Ciaran Gultnieks
4eb5fa88be Fix gradle download url for 2.12 2016-04-07 08:30:10 +01:00
Daniel Martí
ec9087d057 Add and switch to build-tools 23.0.3
Also bump to the CI image which contains it.
2016-04-05 10:49:30 +01:00
Daniel Martí
a345e351ba Add Gradle 2.12 to the buildserver 2016-04-05 10:49:15 +01:00
Ciaran Gultnieks
009a926ea4 Remove extra blank lines in makebuildserver output
These seem to have appeared during the py3 conversion.
2016-03-21 08:45:42 +00:00
Hans-Christoph Steiner
8f99400064 makebuildserver: buildserverid should always be a string 2016-03-14 17:35:44 +01:00
Hans-Christoph Steiner
7039d16046 always parse versions as strings, not bytes
Fixes a couple errors like:
  File "./makebuildserver", line 30, in vagrant
    out += line
  TypeError: Can't convert 'bytes' object to str implicitly

If universal_newlines=False, the default, then Popen will return bytes if
the newlines in the data do not match the system's newlines.  Setting it to
true enables auto-conversion, and then guarantees that the data is always
str.

"If universal_newlines is True, the file objects stdin, stdout and stderr
are opened as text streams in universal newlines mode, as described above
in Frequently Used Arguments, otherwise they are opened as binary streams."
https://docs.python.org/3/library/subprocess.html#subprocess.Popen
2016-03-14 12:49:38 +01:00
Ciaran Gultnieks
bc131856d2 Fix python2/makebuildserver breakage 2016-03-13 20:49:38 +00:00
Daniel Martí
fc0746712d Merge branch 'master' into 'master'
makebuildserver: support running VirtualBox in a VM

For debian.jenkins.net, our test environment is a kvm instance that does not expose the hardware virtualization instructions.  So this auto-detects whether the current machine, virtual or not, supports the hardware virtualization.  If not, it uses VirtualBox's software emulator, which should run everywhere, even in a kvm instance.

See merge request !108
2016-03-11 23:53:25 +00:00
Daniel Martí
49ac25270e Run 2to3 on makebuildserver
Mostly just print conversion.
2016-03-10 16:43:37 +00:00
Daniel Martí
99edd64372 Switch all headers to python3 2016-03-10 16:43:36 +00:00
Hans-Christoph Steiner
6f254ff7b6 makebuildserver: use VB software virt if hardware is not available
This checks the local CPU settings to see if it has the right virtualizing
CPU instructions, and only uses VirtualBox hardware virtualization on
setups where it is available.  VMs instances usually do not provide these
instructions.  Where the CPU features are not available, it will use VB's
software virtualization.
2016-03-10 12:28:31 +01:00
Daniel Martí
da0a787879 Add gradle 2.11 2016-02-15 12:02:45 +00:00
Hans-Christoph Steiner
7f451a815b makebuildserver: add workaround to Ubuntu/trusty's old paramiko
Ubuntu trusty 14.04's paramiko does not work with jessie's openssh's
default settings, so they need to be tweaked in order to provide working
ssh to the instance.

https://stackoverflow.com/questions/7286929/paramiko-incompatible-ssh-peer-no-acceptable-kex-algorithm/32691055#32691055
2016-02-11 20:27:30 +01:00
Hans-Christoph Steiner
09daa5eee0 makebuildserver: default memory to 1024MB, so it runs on normal machines
4 gigs is still a common amount of RAM these days for laptops, if the VM
takes almost all of that, it makes the machine drag to almost a halt. Most
apps build fine in 1gig of RAM, indeed that's the default for most CI
instances, like travis-ci and gitlab-ci.
2016-02-03 14:54:14 +01:00
Hans-Christoph Steiner
dd93505fce allow setting up an apt package cache for the build server setup
This creates a cache folder which will store the apt cache from the VM.
2016-02-03 14:54:14 +01:00
Hans-Christoph Steiner
b6a5978b11 makebuildserver: make chef find the custom cache locations 2016-02-03 14:54:14 +01:00
Hans-Christoph Steiner
90d81eba2d makebuildserver: settable vm boot timeout, plus longer default
On slow machines or VMs like the Debian jenkins box, the VM boot timeout
needs to be a lot longer, otherwise vagrant times out before setting up
the VM.
2016-01-26 17:47:17 +01:00
Hans-Christoph Steiner
3511c44357 makebuildserver: explicitly set debian_mirror by default
There needs to be a default, otherwise it crashes.  I should have included
this in 8d66742dd7
2016-01-26 17:46:51 +01:00
Hans-Christoph Steiner
8d66742dd7 makebuildserver: set debian mirror in config file only
Setting it in the config file was not working, and right now, all of the
options are in the config file and not as command line flags, so remove
--debian-mirror to keep that consistent.
2016-01-26 11:31:40 +01:00
Hans-Christoph Steiner
82e26cf59e makebuildserver: use jessie32.box from cache, if present 2016-01-26 11:31:40 +01:00
Hans-Christoph Steiner
24a9f3b816 makebuildserver: delete cached files with zero size
If download fails to connect, it'll make a zero size file.  Then the next
run on ./makebuildserver will fail because the checksum will not be right.
2016-01-21 15:41:26 +01:00
Hans-Christoph Steiner
cda8fa00f5 makebuildserver: cache defaults to ~/.cache/fdroidserver
This also provides a config option to override that default.  ~/.cache is
a standard location on GNU/Linux machines for cached content.  It is also
good to have the cache outside of the git repo in case `git clean -fdx` is
run, which would delete all files in the directory that are not part of the
git repo, including buildserver/cache/
2016-01-21 15:34:55 +01:00
Hans-Christoph Steiner
3bd8ef2c8c makebuildserver: set defaults in script so it can run without config
This makes it so that ./makebuildserver will run without any config file,
using the defaults that are embedded in the script itself.  This is like
how `fdroid` works.
2016-01-21 15:34:55 +01:00
Hans-Christoph Steiner
50713c7ce9 makebuildserver: set default Debian mirror to http.debian.net
This host automatically detects which is the closest mirror, then uses that
one.  It does so dynamically, so it'll work on machines that move too. Now
that we are pushing more people to run F-Droid build servers, the defaults
should take those use cases into account.
2016-01-21 15:34:55 +01:00
Hans-Christoph Steiner
b33add9ce7 name makebuildserver config the same as the script
This keeps the numbers of names down to a minimum, and since the config
is placed right next to the script, this keeps tab completion working
nicely when the config file is in place.

The old file name is still supported.
2016-01-21 15:34:55 +01:00
Daniel Martí
bd29fce13b Add Gradle 2.10 to the BS 2016-01-05 09:15:54 +01:00
Daniel Martí
73c680dfcf Add gradle 2.9 to the BS 2015-11-20 14:08:54 -08:00
Daniel Martí
882cfe3912 Install build-tools from the cache too 2015-11-20 14:08:54 -08:00
Daniel Martí
7842b08f40 Download platforms via makebuildserver 2015-11-20 12:21:31 -08:00
Daniel Martí
7d96602df2 Fix gradle-2.8 checksum
I once again did the -all.zip hash, not the -bin.zip one.
2015-10-25 10:48:17 +01:00
Daniel Martí
231339ba80 Add gradle 2.8 2015-10-24 19:05:21 +02:00
Daniel Martí
82624cd7ca Bump sdk to 24.4.1 2015-10-24 19:02:39 +02:00
Ciaran Gultnieks
e3ee7ba329 Fix shasum for gradle 2.7 (see a229afe1) 2015-10-08 14:16:35 +01:00
Daniel Martí
a229afe178 buildserver: Add gradle 2.7 2015-10-05 23:40:19 +02:00
Ciaran Gultnieks
9cb95d1eb5 Ensure makebuildserver provisions on an update 2015-08-27 10:12:22 +00:00
Hans-Christoph Steiner
f47677ef36 makebuildserver: allow setting apt mirror from command line
On some setups, using a custom apt mirror is essential, so this adds a
command line flag to override the default one:
http://ftp.uk.debian.org/debian/

For example, someone who runs a local mirror for offline and low bandwidth
situations.

This uses a % rather than a .format() to avoid escaping { and }, which have
meaning when using .format().
2015-08-26 14:46:54 +02:00
Hans-Christoph Steiner
4b0a6ed29f makebuildserver: allow a list/tuple for baseboxurl to support local copy
config.vm.box_url can be a list/tuple of URLs, which is useful to specific
a locally cached copy.  This is needed on slow connections, so that if it
fails, the download of jessie32.box does not have to start from the
beginning of the file again.
2015-08-26 14:46:53 +02:00
Hans-Christoph Steiner
99d0c55fe9 Merge branch 'support-vagrant-cachier' into 'master'
Add optional support for vagrant-cachier plugin

Building the basebox is excruciating for people on slow connections. I'm particularly sensitive to this after living in Central America for awhile :)

This won't affect anyone who hasn't installed the plugin. For those who do, it creates a persistent shared folder for each box (ie. testing23.box) and detects directories to cache between VM builds (apt, gems, pip, chef cache, etc.)

(The only downside is that, for those following server setup does who are not aware what vagrant-cachier does, it might be unexpected that artifacts persist between vagrant destroys.)

See merge request !25
2015-08-26 12:44:36 +00:00
Daniel Martí
d59ecb3d18 Add gradle 2.6 to the buildserver 2015-08-18 13:40:21 -07:00
Daniel Martí
d2ccea8246 Update buildserver for android-23 2015-08-18 13:39:00 -07:00
Daniel Martí
3b43e27cb8 Add gradle 2.5, fixes #108 2015-08-13 11:28:01 -07:00
Daniel Martí
e55d1450d1 Update the Android SDK to 24.3.3 2015-06-19 21:17:43 +02:00
Daniel Martí
52c2ca1fe7 Replace NDK r10d with r10e 2015-06-18 17:05:48 +02:00
Daniel Martí
5985bb4a0b Add gradle 2.4 2015-06-18 16:57:00 +02:00
Daniel Martí
ed5c2fd33d Add gradle 2.3 to the buildserver
Fixes apps that explicitly require 2.3 via gradleVersion
2015-04-09 16:02:35 +02:00
Ciaran Gultnieks
c6434476e9 Work when cpu count is not defined 2015-03-27 20:49:43 +00:00
Daniel Martí
92fdcd3e6a Update sdk to 24.1.2 2015-03-21 23:41:08 +01:00
Ciaran Gultnieks
b71433e66b Allow buildserver CPU count to be configured 2015-02-01 09:00:04 +00:00
Daniel Martí
f60f1bc59e Add NDK r10d, this time alongside r9b
Specified per-build with ndk=<version> defaulting to the oldest, r9b.
2015-01-03 00:07:01 +01:00
Daniel Martí
14f654fabc Apply some autopep8-python2 suggestions 2014-12-31 16:44:06 +01:00
Daniel Martí
e10b2dd382 Update sdk to 24.0.1 2014-12-12 12:39:04 +01:00
Daniel Martí
05a7a872b6 Add gradle 2.2.1 for plugin versions 1.0.X 2014-12-12 12:29:16 +01:00
Ciaran Gultnieks
05c2d18709 Merge branch 'update-vagrantfile' into 'master'
Update Vagrantfile and docs to clarify v1.4.3 is ok

Saw in the server docs that we were recommending 1.3.x and saying 1.4.x was broken. I've confirmed that 1.4.x works, and updated things accordingly. Higher version might work, but figured minimal change to build stuff was best :)

See merge request !24
2014-11-07 14:44:58 +00:00
Daniel Martí
135e15bde3 Add support for gradle plugin version 0.13 via gradle 2.1 2014-10-07 16:36:10 +02:00
Patrick Connolly
57c6deff01 Restrict vagrant-cachier caches to only apt and chef. 2014-09-09 12:38:26 -03:00
Patrick Connolly
d1b5c4353d Add optional support for vagrant-cachier plugin. 2014-09-09 12:38:26 -03:00
Patrick Connolly
c08d2092f6 Update Vagrantfile and docs to clarify v1.4.3 is ok. 2014-08-27 11:35:31 -03:00
Daniel Martí
ebfce778bc Update the SDK to 23.0.2, supposedly fixing all issues 2014-07-03 15:36:43 +02:00
Daniel Martí
348c6a1085 Update the SDK to version 23.0.0 2014-06-30 17:03:26 +02:00
Daniel Martí
a50e6dbfbd Update sdk and build-tools 2014-06-11 22:48:12 +02:00
Daniel Martí
e5854b7e13 Fix pep8 warnings in makebuildserver 2014-05-31 23:00:27 +02:00
Daniel Martí
9cb5bbd1ee Add gradle 1.12 for the plugin version 0.10
Also, use https for the gradle.org links
2014-05-20 16:40:43 +02:00
Daniel Martí
17a4f5c00f A few more PEP8 fixes 2014-05-07 16:17:46 +02:00
Daniel Martí
3003695053 Bump sdk to 22.6 2014-03-07 15:21:28 +01:00
Daniel Martí
c76d2321f3 Add support for gradle 1.11 (and plugin ver 0.9) 2014-03-07 15:21:18 +01:00
Hans-Christoph Steiner
5cdb428a2f makebuildserver: use https uris whenever available
* pypi now defaults to https
* dl.google.com works well with https
2014-01-30 20:33:37 -05:00
Daniel Martí
6e537c2f37 Add gradle 1.10 with the new plugin 0.8 release 2014-01-27 13:21:44 +01:00
Daniel Martí
6daeb625ab Check sha256 sums via hashlib 2014-01-10 20:12:24 +01:00
Daniel Martí
ca7cea37f8 Add our gradle wrapper script 2014-01-09 22:56:51 +01:00
Ciaran Gultnieks
c31b0ccf2e Better makebuildserver verbose output
(and always delete box file, its always there, despite my earlier commit
saying it wasn't)
2014-01-09 22:56:51 +01:00
Daniel Martí
db33ae75e5 Revert "Add gradle-1.10" since it's not compatible yet 2014-01-09 16:29:45 +01:00
Daniel Martí
12c05c06f2 Add gradle-1.10 2014-01-09 16:27:18 +01:00
Daniel Martí
d83a723f5c Install gradle version 1.4, 1.6, 1.7, 1.8 and 1.9 to /opt/gradle 2014-01-09 16:23:49 +01:00
Ciaran Gultnieks
883d63f2c3 Only conditionally try to remove completed box 2014-01-09 16:23:49 +01:00
Daniel Martí
90c27da3ea Fix makebuildserver after rename, tidy gitignores 2014-01-09 16:23:48 +01:00
Daniel Martí
69980ed6a5 Strip unnecessary exts from updateplugin and makebuildserver 2014-01-09 16:23:48 +01:00