Shinmera / parachute

An extensible and cross-compatible testing framework.
https://shinmera.github.io/parachute
zlib License
94 stars 9 forks source link

Github Actions example #31

Closed TatriX closed 1 year ago

TatriX commented 2 years ago

Hi! I'm trying to setup CI for a system tested by parachute and it's not completely trivial. It would be really nice to have an example of how one can do that. Thanks!

Shinmera commented 2 years ago

I'm afraid I don't know the latest best method by which to get a fresh CL implementation on a CI, but once you do have one at your hands, running tests should be as easy as:

sbcl --eval '(ql:quickload :my-test-system)' --eval '(parachute:test-toplevel :my-test-designator)'

I think @yitzchak @neil-lindquist also contributed something to make that even simpler with Roswell, but I haven't used it myself so I can't remember, I'm afraid.

TatriX commented 2 years ago

I think I made it work with roswell: ci.yml + test.ros

Shinmera commented 2 years ago

Cool. I don't know how you set up the ASDF test system thing, but typically ASDF does not exit with nonzero, so test failures won't be propagated by the CI. Parachute's test-toplevel ensures a proper exit code.

TatriX commented 2 years ago

Good catch, thank you, (test-toplevel) works like a charm!