Skip to content

Commit 425c7a8

Browse files
committed
travis: add doc
1 parent 9380d01 commit 425c7a8

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

doc/travis-ci.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Support for using travis-ci has been added in order to automate pull-testing.
2+
See https://travis-ci.org/ for more info
3+
4+
This procedure is different than the pull-tester that came before it in a few
5+
ways.
6+
7+
There is nothing to administer. This is a major feature as it means
8+
that builds have no local state. Because there is no ability to login to the
9+
builders to install packages (tools, dependencies, etc), the entire build
10+
procedure must instead be controlled by a declarative script (.travis.yml).
11+
This script declares each build configuration, creates virtual machines as
12+
necessary, builds, then discards the virtual machines.
13+
14+
A build matrix is constructed to test a wide range of configurations, rather
15+
than a single pass/fail. This helps to catch build failures and logic errors
16+
that present on platforms other than the ones the author has tested. This
17+
matrix is defined in the build script and can be changed at any time.
18+
19+
All builders use the dependency-generator in the depends dir, rather than
20+
using apt-get to install build dependencies. This guarantees that the tester
21+
is using the same versions as Gitian, so the build results are nearly identical
22+
to what would be found in a final release. However, this also means that builds
23+
will fail if new dependencies are introduced without being added to the
24+
dependency generator.
25+
26+
In order to avoid rebuilding all dependencies for each build, the binaries are
27+
cached and re-used when possible. Changes in the dependency-generator will
28+
trigger cache-invalidation and rebuilds as necessary.
29+
30+
These caches can be manually removed if necessary. This is one of the the very few
31+
manual operations that is possible with Travis, and it can be done by the
32+
Bitcoin Core committer via the Travis web interface.
33+
34+
In some cases, secure strings may be needed for hiding sensitive info such as
35+
private keys or URLs. The travis client may be used to create these strings:
36+
http://docs.travis-ci.com/user/encryption-keys/
37+
38+
For the details of the build descriptor, see the official docs:
39+
http://docs.travis-ci.com/user/build-configuration/

0 commit comments

Comments
 (0)