Re: basic GitHub action for building CCL lisp kernel?
Bryan Green <[email protected]> Sun, 13 Aug 2023 05:38:03 -0500
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <CAF+pBj8j1a7nWK8xSsW+5-3bC3T8AYhHian1xVfKqJzUhH16gw@mail.gmail.com> |
Typically, with github actions building unsupported platforms is done by using qemu... On Sun, Aug 13, 2023, 12:11 AM R. Matthew Emerson <[email protected]> wrote: > > > > On Aug 10, 2023, at 9:10 PM, R. Matthew Emerson <[email protected]> wrote: > > > > I think it would be useful have some kind of automated system that can > compile the CCL lisp kernel (a C and assembly language program) on all of > the platforms and report whether that worked. > > > > So, if there are any changes in $repo/lisp-kernel, I’d like to trigger > an automated build of all the lisp kernel platforms that I can. > > > > Does anyone have experience doing this with GitHub Actions? If so, would > you be willing to offer some tips? > > > > Years ago, I had Buildbot set up and running fairly well, but I don’t > want to spend time on that right now, especially if I can leverage GitHub > services. > > > > My long-term dream would be to have an automated way to make release > binaries. As it stands, I just got through building and packaging the > 1.12.2 release for all six platforms by hand. But I’d be happy to start > with baby steps. > > I spent some time today on this. > > First of all, my sample repository that includes a GitHub workflow to > build a C program for several operating systems is > https://github.com/xrme/actions-test > > In particular, the workflow yaml file is > https://github.com/xrme/actions-test/blob/main/.github/workflows/lisp-kernel.yaml > > GitHub supports Linux, Mac, and Windows action runners. I think that the > only supported architecture on GitHub-hosted runners in x86_64. > > It’s possible to host one’s own runners, but the runner software doesn’t > support all platforms of interest (in particular, FreeBSD and illumos). On > the other hand, a self-hosted runner could run on 32-bit ARM or 64-bit ARM. > > > https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#supported-architectures-and-operating-systems-for-self-hosted-runners > > It seems to me that GitHub actions are a quick win for Linux/x8664 and > macOS/x8664. > > Windows/x8664 and Windows/x8632 look pretty good too; installing the MSYS2 > environment seems like it’s easy & reasonable. > > Linux/x8632 can work, although it’s necessary to "apt install > gcc-multilib”. That seems a bit inefficient to do every time, especially > on a free service, but maybe it’s not too bad. > > I’d like to have Buildbot running again so that I could cover all the > ports, but the GitHub actions could, I hope, be useful as a partial > solution. > > > >