Use GitHub Actions for builds

Greg Hudson ghudson at mit.edu
Mon Dec 2 17:35:23 EST 2019


On 12/2/19 6:12 AM, Michael Mattioli wrote:
> What compiler, flags, etc. did you want to test on macOS? They only provide the latest version of macOS (10.15, Catalina). I can give it a spin and see if it works. 

clang, and the same flags as the first Ubuntu clang job.  I tried to set
this up with Travis a couple of years ago and ran into two issues:

1. It was too slow--generally about 15 minutes to run a build and check
instead of 7-8.  Github Actions uses the same macOS hosting provider as
Travis (Macstadium), so might have the same problem.  But it's worth a try.

2. The macOS images have System Integrity Protection enabled, which
interferes with the test suite.  The most significant problem is that
the shell clears DYLD_LIBRARY_PATH from the environment.  There also
appear to be some signal restrictions which break the iprop tests.  My
attempts to work around these problems got as far as
https://github.com/greghudson/krb5/commit/f99f4e9c79372516a8905e840e9ddc696c97c81c
but the make-host-keytab.plin change is broken; it needs to suppress
output and ignore errors when running one of the kadmin ank commands,
without using the shell, and I couldn't find an easy way to do that in
Perl.  That's a surmountable problem, but I got frustrated with the slow
builds and stopped at that point.  It's possible that Github Actions
turns off SIP on its macOS runners; otherwise we'll need the same
workarounds.

[I wrote:]
>> while the Travis integration currently doesn't skip anything.  I will
>> look into why slapd can't be installed and why resolv_wrapper isn't found.

slapd can be installed if we do "sudo DEBIAN_FRONTEND=noninteractive
apt-get ...".  Travis arranges for the noninteractive front-end by
default.  I submitted feedback to github that they should do so as well.

resolv_wrapper also isn't found in the current Travis CI (I was wrong
about that), because it's not in the Ubuntu package repository in 16.04.
 That's fixable if we move to 18.04.

I haven't worked through the Windows build issue yet.

I'm dissatisfied with the amount of repetition in build.yml, and will
see if I can find any good ways to reduce it.  We can of course create a
shell script like we did for Travis.


More information about the krbdev mailing list