replace travis with Github Actions #1432

pull kallewoof wants to merge 2 commits into bitcoin:master from kallewoof:202303-travis-bye changing 3 files +32 −7
  1. kallewoof commented at 1:26 am on March 8, 2023: contributor

    This ports the CI to use Github Actions on pull requests and pushes. Unfortunately it looks like you have to merge this before it takes effect. You can see the runs on my repository at https://github.com/kallewoof/bips/actions though.

    For posterity, I initially did a port to Cirrus before it was pointed out that Github Actions may be better.

  2. kallewoof force-pushed on Mar 8, 2023
  3. kallewoof force-pushed on Mar 8, 2023
  4. kallewoof force-pushed on Mar 8, 2023
  5. kallewoof force-pushed on Mar 8, 2023
  6. kallewoof force-pushed on Mar 8, 2023
  7. kallewoof force-pushed on Mar 8, 2023
  8. kallewoof force-pushed on Mar 8, 2023
  9. kallewoof force-pushed on Mar 8, 2023
  10. augustoproiete commented at 2:16 am on March 8, 2023: none
    Hey @kallewoof Is there a reason why Cirrus (not super well known CI system) was chosen instead of Github Actions (which is more widely known and would seem a more natural choice given the code is already hosted on GitHub)?
  11. kallewoof commented at 2:25 am on March 8, 2023: contributor
    @augustoproiete Only reason being that bitcoin core is using it. Playing around with Github Actions a bit to see which one is better.
  12. kallewoof force-pushed on Mar 8, 2023
  13. kallewoof force-pushed on Mar 8, 2023
  14. kallewoof force-pushed on Mar 8, 2023
  15. kallewoof force-pushed on Mar 8, 2023
  16. kallewoof force-pushed on Mar 8, 2023
  17. kallewoof force-pushed on Mar 8, 2023
  18. kallewoof force-pushed on Mar 8, 2023
  19. kallewoof renamed this:
    replace travis with Cirrus CI
    replace travis with Github Actions
    on Mar 8, 2023
  20. kallewoof commented at 3:14 am on March 8, 2023: contributor
    Github Actions seems better. Thanks for the nudge!
  21. kallewoof force-pushed on Mar 8, 2023
  22. replace travis with Github Actions cbd78b0777
  23. kallewoof force-pushed on Mar 8, 2023
  24. augustoproiete commented at 5:57 am on March 8, 2023: none

    ACK cbd78b0

    Works as expected

    image

  25. junderw commented at 6:05 am on March 8, 2023: contributor

    Nit: Having all the checks in one job means that if the first check fails, you don’t know if the 2nd or 3rd one fails, so sometimes you get a few extra back and forth “nope, try again.” and can be annoying as a maintainer.

    Other than that, ACK.

  26. augustoproiete commented at 6:12 am on March 8, 2023: none

    @junderw That’s not the case with GitHub actions… You can drilldown and see exactly which step of the job failed, along with debug/verbose info written to the console by the build script:

    e.g.

    https://github.com/augustoproiete-forks/bitcoin--bips/actions/runs/4361581418/jobs/7625593905

    image

  27. kallewoof commented at 12:03 pm on March 8, 2023: contributor
    Hum. I think @junderw is correct here, actually. Initially I had errors in the first script and that failed (edit: the remaining scripts did not execute, it looked like). I probably shouldn’t use exit 1…? Either way, splitting into multiple sounds good to me but felt slightly overkill maybe.
  28. kallewoof commented at 12:04 pm on March 8, 2023: contributor
  29. apoelstra commented at 3:27 pm on March 8, 2023: contributor

    We had a similar decision between Cirrus and Github Actions for rust-bitcoin. My understanding is that Core chose to eschew Github Actions because of an abundance of caution around Github’s security controls (which IIRC had been in the news recently), and in general, Github being the canonical source of truth for the repo so there’s the potential for security issues with GA to be much more serious.

    What we landed on was “this is probably reasonable paranoia for the reference implementation of Bitcoin’s consensus logic, but probably not worth the extra hassle for other libraries, since GA is so convenient”. I’d say the BIPs repo probably has the same calculus. It’d be pretty surreal if there was a security issue in GA that led to a BIP text being changed, then somehow nobody noticing for the months it took for implementations to appear and be deployed.

  30. augustoproiete commented at 3:48 pm on March 8, 2023: none

    @kallewoof @junderw Oh, I see now that I misread @junderw’s comment - I thought he was talking about the ability to see which step failed, and not about continuing the execution when one of the steps fail.

    It seems moving the execution of link-format-chk.sh to its own job would be a good idea, if buildtable.pl can be run independently (and not fail - even if links are not in the expected format)

  31. junderw commented at 6:43 pm on March 8, 2023: contributor

    “this is probably reasonable paranoia for the reference implementation of Bitcoin’s consensus logic, but probably not worth the extra hassle for other libraries, since GA is so convenient”

    Exactly. GA is perfectly fine for BIPs repo imo.

    Also, I could have been more explicit.

    By running in parallel, all tests are run. But in sequence, if the first one fails, the 2nd and 3rd one are not run so you only learn their status after fixing the first one and trying again. If parallel, you can see that all 3 are failing and fix all 3 in one commit.

  32. parallelize GA jobs 685f383f81
  33. kallewoof commented at 2:15 am on March 9, 2023: contributor
  34. kallewoof commented at 2:16 am on March 9, 2023: contributor
    @apoelstra Thanks for the feedback! Sounds like GA is the way to go,
  35. junderw commented at 2:44 am on March 9, 2023: contributor
    LGTM! ACK
  36. kallewoof merged this on Mar 9, 2023
  37. kallewoof closed this on Mar 9, 2023

  38. kallewoof deleted the branch on Mar 9, 2023
  39. Patish11 commented at 9:46 pm on September 20, 2023: none
    W
  40. Bwajunior approved

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-09-13 11:10 UTC

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