Convert Foreman & plugins continuous integration to GitHub Actions

At this moment we’ll keep Jenkins running. Converting everything at once will be a lot more work and something we can decide on in the future. Our packaging pipelines run on a schedule and in GitHub Actions only the default branch can have a schedule, so it could very well be less flexible than what we have today. So this RFC is scoped to only foreman.git and its plugins.

If we want to properly cover the real world, we should be testing both cases:

  • Install Foreman + plugin → db:migrate & db:seed
  • Install Foreman → db:migrate & db:seed → install plugin → db:migrate db:seed

Because both can happen on end user systems and DB migration orders can easily break things.

Ideally we would also cover upgrades:

  • Restore some old DB → install Foreman + plugin → db:migrate & db:seed
2 Likes