goss-org / goss

Quick and Easy server testing/validation
https://goss.rocks
Apache License 2.0
5.53k stars 470 forks source link

GitHub Actions based CI #786

Closed petemounce closed 1 month ago

petemounce commented 1 year ago

First commit is just a very skeleton workflow.

This PR is really starting as just an experiment. I'm pretty familiar with GHA, and the experiment part will really be figuring out how to interact with the Make-based build in a nice UX way but also get nice, fast, modern, all-platforms-we-want, not-as-rate-limited-as-travis CI.

If this turns out to be quite easy, then my approach would be to get to parity with all the things Travis does today, before doing anything that Travis does not do that we might also want. I'd want to minimise the amount of time there are 2 CIs in play.

That means changing the in-repo build-automation as little as possible, and if there are things necessary to change, then Travis must stay green. At all points, Travis outcome should agree with GHA outcome. If GHA differs, GHA is probably not quite there yet.

Checklist

Related: #649

(I don't think I will aim at everything that #649 wants, like researching other platforms - just getting off Travis).

petemounce commented 1 year ago

@aelsabbahy I think for this to start to work, you may need to do some settings changes within the repository.

I think for a contribution from a fork to run, you'd need to allow the (dangerous) fork pull request workflows permission. I advise against that; it's safer to only allow trusted contributors run CI for a tonne of reasons.

I think I can probably iterate on this in a not-fork repository that I own, then bring it back here.

petemounce commented 7 months ago

Note nuance to integration tests being run. https://github.com/goss-org/goss/pull/856#issuecomment-1817913102

dklimpel commented 2 months ago

I have been working on this a bit and experimenting. The biggest problem seems to be getting the centos7 images to run in github. These use systemd and the runability seems to be blocked by github.

I noticed that the jobs do not run ideally. IMHO the linitng should be removed from the test and run before the tests. But the linting is also broken and is not executed at all.

dklimpel commented 1 month ago

IMHO this PR is superseded by a lot of other PR and can be closed.

aelsabbahy commented 1 month ago

Yup, thank you both for the contributions so far. This has been a ton of work and great to see it progressing