You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

travis-ci.md 2.1KB

6 years ago
6 years ago
6 years ago
6 years ago
5 years ago
6 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142
  1. Travis CI
  2. =========
  3. Support for using travis-ci has been added in order to automate pull-testing.
  4. See [travis-ci.org](https://travis-ci.org/) for more info
  5. This procedure is different than the pull-tester that came before it in a few
  6. ways.
  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. A build matrix is constructed to test a wide range of configurations, rather
  14. than a single pass/fail. This helps to catch build failures and logic errors
  15. that present on platforms other than the ones the author has tested. This
  16. matrix is defined in the build script and can be changed at any time.
  17. All builders use the dependency-generator in the [depends dir](/depends), rather than
  18. using apt-get to install build dependencies. This guarantees that the tester
  19. is using the same versions as Gitian, so the build results are nearly identical
  20. to what would be found in a final release. However, this also means that builds
  21. will fail if new dependencies are introduced without being added to the
  22. dependency generator.
  23. In order to avoid rebuilding all dependencies for each build, the binaries are
  24. cached and re-used when possible. Changes in the dependency-generator will
  25. trigger cache-invalidation and rebuilds as necessary.
  26. These caches can be manually removed if necessary. This is one of the very few
  27. manual operations that is possible with Travis, and it can be done by the
  28. Bitcoin Core committer via the Travis web interface.
  29. In some cases, secure strings may be needed for hiding sensitive info such as
  30. private keys or URLs. The travis client may be used to create these strings:
  31. http://docs.travis-ci.com/user/encryption-keys/
  32. For the details of the build descriptor, see the official docs:
  33. http://docs.travis-ci.com/user/build-configuration/