This sounds great. I see also that Bogdan has developed an action for
downloading Racket.

Let's continue this work by organizing in the #ci channel on Slack,
which I've just created. Anyone else who's interested should join that
channel, and we'll work out next steps there.

Sam


On Sat, Nov 16, 2019 at 2:50 AM Jack Firth <[email protected]> wrote:
>
> I'm relatively in favor of a GitHub Actions based approach. I was also in the 
> beta and wrote an action for building and testing Racket packages. I would be 
> happy to help with this effort, especially the Docker-based parts of 
> implementing an action.
>
> On Friday, November 15, 2019 at 9:01:12 AM UTC-8, Paulo Matos wrote:
>>
>>
>> Thank you for all your kind emails. It is, as always, a pleasure to
>> contribute to Racket.
>>
>> I spent some time discussing this Sam today which mentioned GitHub
>> Actions. I had actually been part of GitHub Actions Beta and dismissed
>> it straight away because initially they were not supporting self-hosted 
>> runners
>> and there weren't many details on how free was the offer for public
>> repos. Sam's point made me revisit the current status of GitHub Actions
>> CI which just recently left Beta.
>>
>> It turns out, there are quite a few changes. A lot of the information I
>> picked up comes from these references:
>>
>> https://www.youtube.com/watch?v=9EoNqyxtSRM
>> https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners
>> https://github.com/features/actions
>> https://twitter.com/pocmatos/status/1195100718270681088
>>
>> My understand stands as follows:
>> - GitHub Actions provides CI free of charge (unlimited minutes) on
>> public repositories on a variety of operating systems (Linux, Windows
>> and MacOS) on x86_64;
>> - GitHub Actions provides a self-hosted runner that runs on X86_64 and
>> ARM devices;
>> - GitHub Actions is highly integrated, as expected, in the workflow and
>> uses as other services do, a yaml configuration file.
>> - Pietro Albini, working on porting the Rust CI from Azure Pipelines to
>> Github Actions mentioned that Azure and Actions are very similar.
>>
>> This is certainly a compelling argument towards using GitHub
>> Actions. Also, we wouldn't have to pull from Python code for CI (which
>> we would if we used Buildbot).
>>
>> As mentioned GitHub Actions are part of GitHub and very well integrated with 
>> the
>> workflow. On one hand a part of me worries about vendor lockin with
>> GitHub, but then again we are already so invested in GitHub that adding
>> CI to the mix won't (I think) worsen the situation.
>>
>> There's however, the issue of supporting more architectures than GitHub
>> Actions provides. My suggestion comes from my own experience with QEmu
>> and what Rust is also doing.
>>
>> Lets come up with support tiers. We can have a tier where we compile,
>> test and benchmark and other tiers where we only ensure Racket builds
>> (for example with Rust, see
>> https://forge.rust-lang.org/infra/docs/rustc-ci.html).
>>
>> We can certainly use GitHub Actions hosting to test on x86_64 on all
>> supported OSes. We can then use my own CI server as well (to compile
>> natively but also run cross-compilations and emulated testruns) and the
>> self-hosted runner on my ARM boards. For architectures that are not 
>> supported by
>> the github runner, we can cross compile. For those architectures for
>> which I have boards, we can weekly (for example) run some scripts that
>> compile and test natively (for example mipsel and riscv64). In the long
>> run, as initially mentioned, the idea is to gather the information in a
>> racket webapp dashboard (I discussed this briefly today with Jack Firth, who
>> actually works in this area, and we will be discussing the architecture of
>> this dashboard and integration with the CI system in the coming week).
>>
>> With a setup like this, there are few compelling reasons to design a
>> system from scratch using Buildbot, so I am sold on the idea of moving
>> forward with Actions. It is actually a good time. Next week, for family
>> reasons, I will have extra free time on my hands and I am sure I can
>> bring this proposal up to speed and have some more information towards
>> the end of next week.
>>
>> What are everyone's thoughts? If nobody complains loudly, I will follow
>> through and bring up a draft PR, with a Github Actions CI system during
>> next week.
>>
>> Kind regards,
>> --
>> Paulo Matos
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-dev/6a1ef4d3-5eeb-4b51-80aa-ad359084cffb%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/CAK%3DHD%2BYQmN%3DXPnRoAXad1QuoiSmb%3DA1o5RWeU3Yo0A0B%2BQiV_A%40mail.gmail.com.

Reply via email to