nickel-lang / organist

Control all your tooling from a single console
MIT License
421 stars 21 forks source link

Generate GitHub workflows from Organist #147

Open thufschmitt opened 1 year ago

thufschmitt commented 1 year ago

Provide an easy-to-use but flexible framework for generating GH actions with Organist.

All of that should

  1. Be properly typed to get some direct error reporting
  2. Play well with the LSP (as much as can be)

Tasks

YorikSar commented 1 year ago

Are you sure about calling it ci.github_actions instead of just ci.github? Later looks better, even if it's not as precise.

It's not clear to me the separation between "low" and "high" level interfaces. I think "low level" would be writing workflows and "high level" would be turning knobs and picking workflows for the library.

I'd also suggest:

thufschmitt commented 1 year ago

Are you sure about calling it ci.github_actions instead of just ci.github? Later looks better, even if it's not as precise

Fair enough. I'll update the issue description to match that

It's not clear to me the separation between "low" and "high" level interfaces. I think "low level" would be writing workflows and "high level" would be turning knobs and picking workflows for the library.

My idea was that “low level” is directly writing workflows using GitHub's schema (except in Nickel), while “high-level” is providing an opinionated library of relevant workflows for projects using Organist. Does that match your understanding?

add a flag to enable GitHub workflow generation, like ci.github.enable = true, so that we can template the whole project at once

Yes, that sounds quite reasonable indeed

have a proper support for configuring multiple workflows from the start, so that "default" workflows would include all of per-commit checks, periodic dependency updates and release workflows.

Yes, we'll need to keep that in mind indeed. Although reality will probably remind us of it if we ever forget 😉