travis: Switch to ubuntu keyserver to avoid timeouts #15693

pull MarcoFalke wants to merge 2 commits into bitcoin:master from MarcoFalke:1903-travisKeyTimeout changing 4 files +34 −46
  1. MarcoFalke commented at 10:39 PM on March 28, 2019: member

    The other keyserver is consistently timing out on travis: https://travis-ci.org/bitcoin/bitcoin/jobs/512689710#L405

    Attempt to fix it by using a different server.

    Also:

  2. fanquake added the label Tests on Mar 28, 2019
  3. DrahtBot commented at 10:52 PM on March 28, 2019: member

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    No conflicts as of last run.

  4. gkrizek commented at 2:35 PM on March 29, 2019: contributor

    Concept ACK

  5. travis: Switch to ubuntu keyserver to avoid timeouts fa36a333ee
  6. MarcoFalke force-pushed on Mar 29, 2019
  7. laanwj commented at 4:38 PM on April 2, 2019: member

    Isn't there something better we can do instead of probe the keyserver for every run, every platform? It seems pretty much a DoS attack.

  8. MarcoFalke commented at 4:53 PM on April 2, 2019: member

    Unless I am mistaken it should only run once per day for only our repo:

    "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_EVENT_TYPE" = "cron"
    
  9. in .travis.yml:36 in fa0e2ab7be outdated
      32 | @@ -33,8 +33,8 @@ install:
      33 |  before_script:
      34 |    - set -o errexit; source .travis/test_05_before_script.sh
      35 |  script:
      36 | -  - if [ $SECONDS -gt 1200 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script_a.sh; fi
      37 | -  - if [ $SECONDS -gt 1800 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script_b.sh; fi
      38 | +  - if [ $SECONDS -gt 1200 ]; then set +o errexit; echo "Early exit to cache current state. Please re-run job"; false; else set -o errexit; source .travis/test_06_script_a.sh; fi
    


    ryanofsky commented at 2:40 PM on April 4, 2019:

    I don't understand what "early exit to cache state means." Is this a timeout trying to create a cache, or a timeout waiting for something else to create a cache? What cache is being referring to? Where is the cache stored? Where can I find the code that creates the cache? Where I can I find the code or config that determines whether the cache needs to be updated and recreates the cache?


    gkrizek commented at 3:41 PM on April 4, 2019:

    @ryanofsky Travis stores a ccache to speed up the builds. If the build takes too long Travis will kill the job and I don't think it keeps the cache around when it does that. So, in order to keep the cache for future builds, we kill the job ourselves. Then on a rerun we should have that cache so it runs faster.

    You can see the cache config for Travis here: https://github.com/bitcoin/bitcoin/blob/master/.travis.yml#L4-L9

    If any of that is incorrect someone please tell me, but that's how I understand it.


    MarcoFalke commented at 4:58 PM on April 4, 2019:

    Correct, aside from ccache, we also cache depends


    ryanofsky commented at 5:10 PM on April 4, 2019:

    re: #15693 (review)

    Thanks, that's really helpful. Would suggest prefixing the error message with Error: and also explaining more:

    echo "Error: Initial build successful, but not enough time remains to run tests. Please manually re-run job by using the travis restart button or asking a bitcoin maintainer to restart. The next run should not time out because ccache build outputs have been saved."
    
  10. MarcoFalke force-pushed on Apr 5, 2019
  11. MarcoFalke force-pushed on Apr 5, 2019
  12. MarcoFalke force-pushed on Apr 5, 2019
  13. MarcoFalke force-pushed on Apr 5, 2019
  14. MarcoFalke commented at 4:34 PM on April 5, 2019: member

    Added some more documentation to .travis.yml

  15. travis: Properly cache and error on timeout fa2056af1c
  16. MarcoFalke force-pushed on Apr 5, 2019
  17. MarcoFalke commented at 5:37 PM on April 5, 2019: member
  18. in .travis.yml:24 in fa2056af1c
      19 | +# Travis CI uploads the cache after the script phase of the build [1].
      20 | +# However, the build is terminated without saving the chache if it takes over
      21 | +# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
      22 | +# with an error and save the cache.
      23 | +#
      24 | +# [0] https://travis-ci.org/bitcoin/bitcoin/caches
    


    ryanofsky commented at 3:06 PM on April 9, 2019:

    Wow, I had no idea. Really tempting to click on all the trashcans.

  19. ryanofsky approved
  20. ryanofsky commented at 3:12 PM on April 9, 2019: member

    utACK fa2056af1c71aded3a821a07ec4de71c4be0bca3. All good changes (changing keyserver, getting rid of keyserver while loop, clarifying travis error, moving travis documentation to code comment).

  21. MarcoFalke merged this on Apr 9, 2019
  22. MarcoFalke closed this on Apr 9, 2019

  23. MarcoFalke referenced this in commit 23712f8ab9 on Apr 9, 2019
  24. MarcoFalke deleted the branch on Apr 9, 2019
  25. MarcoFalke referenced this in commit 2c341e3471 on Aug 14, 2019
  26. HashUnlimited referenced this in commit 5cd93a76a0 on Aug 23, 2019
  27. magic53 referenced this in commit aeab690b42 on Dec 31, 2019
  28. MarcoFalke locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me