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.
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
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)?
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.
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof force-pushed
on Mar 8, 2023
kallewoof renamed this:
replace travis with Cirrus CI
replace travis with Github Actions
on Mar 8, 2023
kallewoof
commented at 3:14 am on March 8, 2023:
contributor
Github Actions seems better. Thanks for the nudge!
kallewoof force-pushed
on Mar 8, 2023
replace travis with Github Actionscbd78b0777
kallewoof force-pushed
on Mar 8, 2023
augustoproiete
commented at 5:57 am on March 8, 2023:
none
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.
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:
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.
kallewoof
commented at 12:04 pm on March 8, 2023:
contributor
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.
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)
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.
parallelize GA jobs685f383f81
kallewoof
commented at 2:15 am on March 9, 2023:
contributor
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