chsasank / llama.lisp

Lisp dialect designed for HPC and AI
GNU Lesser General Public License v2.1
11 stars 4 forks source link

Setup CI/CD System #20

Open chsasank opened 1 month ago

chsasank commented 1 month ago
  1. So that automatic tests are run
  2. Dependencies are clear
  3. And compiled binaries can be released
GlowingScrewdriver commented 1 month ago

Laminar CI: https://laminar.ohwg.net/ This catches my attention for a simple, no-nonsense CI solution. It can be triggered remotely, so we can trigger it using webhooks on GitHub. The only downside is that the web interface is read-only.

Concourse CI: https://concourse-ci.org/config-basics.html A more comprehensive solution. Looks like it has more features than Laminar (e.g. users of the system are organized into teams), but doesn't seem unapproachable to set up. Configuration is declarative and uses YAML. There are also actions on the GitHub marketplace for triggering concourse instances.

Go CD: https://www.gocd.org/ Allows you to define pipelines entirely using the web interface. Looks like it's meant for large projects -- for one thing, you have to set up a server (for controlling and user interface) and an agent (to run the build) separately.

GitLab: https://about.gitlab.com/solutions/continuous-integration/ This is worth considering if we decide to self-host the public git server itself. Will save the effort of setting up remote triggering, authentication, etc.

chsasank commented 1 month ago

Also evaluate GitLab CI/CD.

chsasank commented 1 month ago

Also Gitea because it's compatible with Github Actions.

chsasank commented 1 month ago

More options: https://github.com/kubero-dev/kubero