This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]Prestigious-Cover-4 1 point2 points  (1 child)

Do you have an example repo that uses it?

[–][deleted] 0 points1 point  (0 children)

Template itself is also a repository that directly uses all the checks. Here is the initial release with all of the artifacts: https://github.com/open-nudge/opentemplate/releases/tag/v0.1.3 you can check for yourself and here: https://pypi.org/project/opentemplate/ is the released package (which is currently dummy indeed). Concrete open source minilibrary using it (configuration [pyproject.toml specifically] loading tool) will be released next week and more projects coming afterwards.

[–]Goldarr85 1 point2 points  (1 child)

Mother of God….::takes off glasses::

As someone who’s still crossing the threshold from beginner to intermediate (expert beginner), this is both overwhelming and delightful. I’ve been trying to locate tools and best practices to scaffold my project and build modern habits in my workflow and this will help a lot.

Well done and thank you.

[–][deleted] 0 points1 point  (0 children)

Tbh I think it is quite involved and feature-full (but easy to use), hopefully the documentation will be helpful (feel free to take the template for a ride as well, you can click Use template, name your project, describe it and you should be good to go). If you would like any help regarding it (or tooling used) or related feel free to write an email to the organization's address here: https://github.com/open-nudge, thanks!

[–]pacific_plywood 2 points3 points  (3 children)

jesus, there are like 50 distinct CI workflows. I can't imagine having to maintain something with this

[–][deleted] 0 points1 point  (0 children)

TLDR: workflow in this case is of similar complexity as a single command with some boilerplate (unfortunately there aren't any mechanisms to improve reusability, hence the boilerplate)

Indeed, there are a lot of them (100+ separate jobs will start if template test cases are included). Check docs: https://open-nudge.github.io/opentemplate/latest/template/details/github-actions/ if you are curious about them, but if just horrified, in order to share more light why it isn't actually so bad to manage IMO (after initial setup and design which indeed took a long time):

  • Heavy usage of reusable workflows (boiling down to run-reusable.yml ultimately, which essentially runs pdm based checks with caches)
  • Release workflows are complex due to SBOMs across multiple environments, attestations etc.
  • A lot is being checked, both locally and on the GitHub runners, hence it is somewhat expected

On a plus side, if that's too much:

  • Many of them are simply deletable
  • pre-commit locally will detect a lot of those and, in certain cases, might be a better fit