[Toybox] GitHub Action Example

enh enh at google.com
Mon Jun 15 09:07:27 PDT 2020


On Sat, Jun 13, 2020 at 12:30 AM Eric Molitor <emolitor at molitor.org> wrote:
>
> Would aarch64 builds on Ubuntu and Alpine be useful? That will be slightly more complex to setup but is possible.

i don't actually remember us ever having an aarch64-specific issue.
(funnily enough, a 32-bit x86 build would probably find more bugs,
since i don't think anyone regularly tests any 32-bit arch locally. i
certainly only find 32-bit issues when i try to run on an Android
emulator!)

>> it seems like your setup is running on a cron-like timer? is there a way to say "on every push" instead?
>>
> There are three build triggers in the configuration, cron, push on master and pull request on master. As I forked the repo you only see changes to my repo (emolitor/toybox) trigger builds and not landley/toybox.

ah, i see. hopefully rob will look at
https://github.com/emolitor/toybox/runs/767753680?check_suite_focus=true
and turn this on for the main repo then :-)

> [https://github.com/emolitor/toybox/blob/master/.github/workflows/toybox.yml]
> on:
>   schedule:
>     - cron:  '0 2 * * *'
>   push:
>     branches: [ master ]
>   pull_request:
>     branches: [ master ]
>
>
>>
>> i'm assuming a clang-based build with `export ASAN=1` would be doable too? that would give us coverage of the other common compiler _and_ catch some memory issues before an aarch64 hwasan device does. (thanks to wfh i'm doing a lot less with aarch64 and a lot more with x86-64 right now.)
>
>
>  I just added a parallel ASAN build on Ubuntu using clang to test.

awesome, thanks!

and rob just needs to add this file to the repository to get this?
there's no extra setup in the github ui?

> [https://github.com/emolitor/toybox/actions/runs/134098865]
> --- a/.github/workflows/toybox.yml
> +++ b/.github/workflows/toybox.yml
> @@ -37,6 +37,20 @@ jobs:
>      - name: Test
>        run: make tests
>
> +  Ubuntu-20_04-Clang-ASAN:
> +    runs-on: ubuntu-20.04
> +
> +    steps:
> +    - uses: actions/checkout at v2
> +    - name: Setup
> +      run: sudo apt-get install build-essential clang
> +    - name: Configure
> +      run: make defconfig
> +    - name: Build
> +      run: CC=clang ASAN=1 make
> +    - name: Test
> +      run: make tests
> +


More information about the Toybox mailing list