-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set up Cirrus CI #59
Comments
@domob1812 Given that the overhead imposed by not even having Travis available is interfering with my ability to efficiently do namecoin/ncdns#124 (comment) , and I don't want to charge money for time that I'm spending inefficiently on manual testing, can we authorize funding 1 week of development via Handshake funds on setting up Cirrus on the Namecoin-specific repos? Seems like that would be much better-spent time than having me write code with much worse efficiency than I usually can do. I think a week is likely to cover enough Cirrus stuff that I can get back to work on namecoin/ncdns#124 (comment) without impairment (and probably with a significant productivity boost, e.g. there's a good chance I can implement some CI for the ncdns NSIS installer, which currently has no CI whatsoever). |
If you think that you can get it all ready in a week, I think that's certainly worth paying for. |
@domob1812 Week 1 has been completed. This involved adding almost all of the Cirrus functionality we needed for the @domob1812 Is it okay to pay out for Week 1? If a Week 2 is approved, I would like to focus on @domob1812 Is it okay to allocate Handshake funds for Week 2? |
Sounds good to me. After the proposed week 2, will there be anything left to do for Cirrus, or will all that you need and can think of be done then? |
@domob1812 There are some minor things like IRC notifications that I need to do (Cirrus makes this harder than Travis did, but it should be doable), and there are some less commonly touched repos (e.g. |
This is now working for building ncdns, ncp11, and ncprop279 reproducibly in rbm on Cirrus. I haven't yet enabled artifact uploads, but that should be easy. Tor Browser is going to be a little bit harder, because there are more rbm projects in Tor Browser, and I will have to patch a few of them that don't exist in Namecoin (particularly Rust and maybe Firefox) to properly handle my checkpoint implementation.
Once artifact uploads are working (see above), I should be able to trivially implement co-signing via Signify or GPG.
I just talked to Gus from Tor, and I've been approved to give a presentation about this at Tor Demo Day on Wednesday (Feb 24).
A lot of this is now complete. The vast majority of patches we make to
I've coded up a Matrix bot called
I added Cirrus to the |
d7dcf57 Add Cirrus (Jeremy Rand) Pull request description: Refs namecoin/meta#59 Top commit has no ACKs. Tree-SHA512: ea988b2e85618d31f7966bee33ecee44d4f7f9b5dd49811c7967933c01625d8c79569922e64df3685dc0e26715b3e7b2e06844a2e7660eff7e8f41dd3a46b0e2
As everyone has probably heard by now, Travis CI is shutting down its gratis service for freedom software projects on December 31. Bitcoin Core is moving to Cirrus CI. (The Bitcoin Core devs have identified security concerns about GitHub Actions and Microsoft Azure Pipelines, so those are not an option.)
This would be a good opportunity to move the Namecoin-specific repos to Cirrus CI, and set up additional useful CI stuff that we didn't have before with Travis. For example, integration tests of the ncdns NSIS installer and integration tests of DNS and TLS interoperability with mainstream browsers would help us identify problems a lot faster. Also, build artifact uploading would make it a lot easier for beta testers to try out our code (since it wouldn't require me to build things myself just for them to test it). It would also be really cool to run rbm on Cirrus, so that Cirrus can act as a co-signer for our reproducible builds. (The Tor guys are curious if we can pull this off; it would benefit Tor too if we can do it.) And of course switching to a modern static analyzer (gometalinter has been deprecated for ages) would help assure that we're not pushing messy code.
The text was updated successfully, but these errors were encountered: