<div dir="ltr"><div>Hi Rob,</div><div>Here is an example github action building toybox and running tests on MacOS, Ubuntu and Alpine. It builds nightly at 2:00am and on each push and pull request. While I'm not a huge fan of proprietary CI systems GitHub isn't too invasive and supports MacOS. You can see an example of the output at <a href="https://github.com/emolitor/toybox/actions">https://github.com/emolitor/toybox/actions</a></div><div><br></div><div>diff --git a/.github/workflows/toybox.yml b/.github/workflows/toybox.yml<br>new file mode 100644<br>index 00000000..cd18e7fe<br>--- /dev/null<br>+++ b/.github/workflows/toybox.yml<br>@@ -0,0 +1,53 @@<br>+name: toybox CI<br>+<br>+on:<br>+ Â schedule:<br>+ Â  Â - cron: Â '0 2 * * *'<br>+ Â push:<br>+ Â  Â branches: [ master ]<br>+ Â pull_request:<br>+ Â  Â branches: [ master ]<br>+<br>+jobs:<br>+ Â MacOS-10_15:<br>+ Â  Â runs-on: macos-10.15<br>+<br>+ Â  Â steps:<br>+ Â  Â - uses: actions/checkout@v2<br>+ Â  Â - name: Setup<br>+ Â  Â  Â run: brew install gnu-sed<br>+ Â  Â - name: Configure<br>+ Â  Â  Â run: make macos_defconfig<br>+ Â  Â - name: Build<br>+ Â  Â  Â run: make<br>+ Â  Â - name: Test<br>+ Â  Â  Â run: make tests<br>+<br>+ Â Ubuntu-20_04:<br>+ Â  Â runs-on: ubuntu-20.04<br>+<br>+ Â  Â steps:<br>+ Â  Â - uses: actions/checkout@v2<br>+ Â  Â - name: Setup<br>+ Â  Â  Â run: sudo apt-get install build-essential<br>+ Â  Â - name: Configure<br>+ Â  Â  Â run: make defconfig<br>+ Â  Â - name: Build<br>+ Â  Â  Â run: make<br>+ Â  Â - name: Test<br>+ Â  Â  Â run: make tests<br>+<br>+ Â Alpine-3_12:<br>+ Â  Â runs-on: ubuntu-20.04<br>+ Â  Â container: alpine:3.12<br>+<br>+ Â  Â steps:<br>+ Â  Â - uses: actions/checkout@v2<br>+ Â  Â - name: Setup<br>+ Â  Â  Â run: apk add build-base linux-headers diffutils findutils bash<br>+ Â  Â - name: Configure<br>+ Â  Â  Â run: make defconfig<br>+ Â  Â - name: Build<br>+ Â  Â  Â run: make<br>+ Â  Â - name: Test<br>+ Â  Â  Â run: make tests<br></div></div>