Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test with GitHub Actions #270

Open
ruscur opened this issue Nov 3, 2021 · 2 comments
Open

Test with GitHub Actions #270

ruscur opened this issue Nov 3, 2021 · 2 comments

Comments

@ruscur
Copy link
Contributor

ruscur commented Nov 3, 2021

I used to run the snowpatch tests for skiboot that showed up on https://patchwork.ozlabs.org/project/skiboot/list/ - these were triggered through a Jenkins server on openpower.xyz that no longer exists (the domain and the server are both gone). I rewrote snowpatch to use GitHub Actions instead, and that's what's being used for linuxppc-dev and pdbg currently.

We should write some workflows for GitHub Actions that can be run on every commit to this repo, can be used by developers if they fork on GitHub during development, and consumed by snowpatch to be run on every series on the list & published to Patchwork. If this is wanted, I would think the best way to go would be for me to start using them in my skiboot repo for snowpatch use and then send the workflows upstream once they're stable.

So what would we want to test?

  • make / make check on a few different distros with different toolchains
  • qemu powernv boots with P8/P9/P10? models
  • mambo boots (dunno how well this would go for P8/P9 yet because the distro packages here http://public.dhe.ibm.com/software/server/powerfuncsim/ are pretty old)

I'm assuming https://github.com/open-power/op-build/releases/ is the best thing to use for petitboot/kernel.

extra stuff:

  • basic tests for stuff in external/ that only trigger when there's commits touching them
  • static analysis of some sort?

Anything else we might want?

--
Some references:

@legoater
Copy link
Contributor

legoater commented Nov 3, 2021

I used to run the snowpatch tests for skiboot that showed up on https://patchwork.ozlabs.org/project/skiboot/list/ - these were triggered through a Jenkins server on openpower.xyz that no longer exists (the domain and the server are both gone). I rewrote snowpatch to use GitHub Actions instead, and that's what's being used for linuxppc-dev and pdbg currently.

The tests being run on patches reaching the list were very useful. Specially the one checking that the patch applied. Would that be still possible ?

We should write some workflows for GitHub Actions that can be run on every commit to this repo, can be used by developers if they fork on GitHub during development, and consumed by snowpatch to be run on every series on the list & published to Patchwork. If this is wanted, I would think the best way to go would be for me to start using them in my skiboot repo for snowpatch use and then send the workflows upstream once they're stable.

@fbarrat has given GitHub Actions a try :

https://github.com/fbarrat/skiboot/actions/runs/1399852239

Looks good.

So what would we want to test?

* `make` / `make check` on a few different distros with different toolchains

yes. Latest compilers should be checked. Is there a minimum version requirement ?

* qemu powernv boots with P8/P9/P10? models

QEMU has a PowerNV machine acceptance test we could use :

https://git.qemu.org/?p=qemu.git;a=blob;f=tests/acceptance/boot_linux_console.py;h=06fc967f6c4e68b15ca32416a0cf589c1277d3d3;hb=HEAD#l1179

It's upstream (P10 is not but there are other QEMU trees)

We could add a few other tests with a more complex topology may be ? @fbarrat ?

* mambo boots (dunno how well this would go for P8/P9 yet because the distro packages here http://public.dhe.ibm.com/software/server/powerfuncsim/ are pretty old)

P8 is old. P9 is from 2019 and P10 from 2021. They should be fine.

I'm assuming https://github.com/open-power/op-build/releases/ is the best thing to use for petitboot/kernel.

extra stuff:

* basic tests for stuff in `external/` that only trigger when there's commits touching them

Could we compile some of the tools for ARM ?

* static analysis of some sort?

Coverity.

Anything else we might want?

I think this is good enough for a start.

@ruscur
Copy link
Contributor Author

ruscur commented Nov 5, 2021

Up and running from @fbarrat: 89156c0

snowpatch is now running with what's in the master branch: https://patchwork.ozlabs.org/project/skiboot/patch/[email protected]/

Nothing else recent on the list still applies as-is but it should be useful for anything new coming in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants