jacobaustin123 / Coral

The Coral Programming Language: a blazingly-fast, gradually-typed Python compiler with optional static typing for optimization and safety.
https://jacobaustin123.github.io/Coral/
Other
143 stars 6 forks source link

Continuous integration #10

Closed sztomi closed 4 years ago

sztomi commented 5 years ago

Hey there,

This is an interesting project. I'm not familiar with ML, but I'd like to see this gain some traction. Would you be open to a PR that adds CI for building, running tests and optionally producing release packages?

jacobaustin123 commented 5 years ago

Hi there,

That would be really great. We have a fairly robust testing suite in the test files which can be run with the testall.sh script or make test. I don't have much experience setting up CI with GitHub, so that would be a huge help. Packages are produced rather primitively through the dev/build-pkg.sh script using the munki-pkg utility and stored in the dev/build directory. I imagine adding automated deployment would just require running that script and adding some boilerplate to upload it to github! Let me know if I can help with anything.

And yeah, in retrospect OCaml was not the most accessible language to write Coral in. However, we were able to pick it up in a couple of days, and it made development a lot easier. I'll write up a dev guide and some tutorial material to hopefully help people contribute more easily! Thanks again.

sztomi commented 5 years ago

Thanks! I'll wait for the dev instructions then.

sztomi commented 5 years ago

I'm putting together a docker image for building on Linux - that will be useful for a portable build and easy CI steps.

sztomi commented 5 years ago

WIP here: https://github.com/sztomi/Coral/tree/tamas/ci/docker

The image is capable of compiling the project, although the symlinking at the end doesn't work.

jacobaustin123 commented 5 years ago

Thank you very much! I'm sorry for the delay. It's been a busy couple of weeks. I'm happy to fix the remaining issues, if any. Do you have any recommendations for CI? I don't have any experience with CI on Github. I've found things like CircleCI which seems well integrated with GitHub and (I think) just requires the Dockerfile and a CI configuration file. That might be the easiest way?

jacobaustin123 commented 4 years ago

@sztomi Just wanted to thank you for doing this. I finally got around to setting up CI, and I used a slightly modified version of your Dockerfile to build an image that gets pulled down to run our tests on Ubuntu. It also helped us catch an issue that was causing some of our tests to fail. I added an acknowledgment in the dev/docker/README which is taken from your version. Thank you!

sztomi commented 4 years ago

Hey, thanks for reaching out, happy to see this project is still alive and kicking!