hendricius / the-bread-code

Learn how to master the art of baking the programmer way.
MIT License
4.07k stars 179 forks source link

CI for the Repo #109

Closed hendricius closed 5 years ago

hendricius commented 6 years ago

In the PR https://github.com/hendricius/the-bread-code/pull/106 we added a small tool which allows parsing some of the recipes. The plan is to make a human-readable website at some point of the recipes.

It would be really nice if we can setup CircleCI or any other CI to run the specs in the lib/recipe_parser folder. It's in a subfolder though. Any idea how we can get that to work? Help appreciated.

martinkirsche commented 6 years ago

Have you considered using GitHub Pages (based on jekyll) to generate a human-readable website? You won‘t need to setup any CI. GitHub will render the pages for you when ever the repository changes.

hendricius commented 6 years ago

That would be great to use too.

I guess we have to finalise the parser first though to have a good structure. Right now some of the recipes are depending on each other. There is always one basic recipe and others which inherit from that one. It would not make sense to only see the inherited one without contents from the parent.

martinkirsche commented 6 years ago

I would create the parser using jekyll as well, so that you never need to trigger any script to apply changes to the final website.

As far as I can tell the job of the parser is just filling the unchanged gaps within a derived recipe. Or isn‘t it that simple?

cweagans commented 6 years ago

Github Pages doesn't allow for any additional plugins, so I'm not sure how you'd integrate your parser appropriately for the automatic builds. An external CI service is probably a better option here, even if you just end up having CI push the result back to a gh-pages branch.

martinkirsche commented 6 years ago

I know. We would be limited to the functionality of a vanilla jekyll installation without the option to use plugins. However the template stuff in jekyll is quite flexible and if the parser is just ripping apart some markdown files and putting then together again it should be possible to implement it using jekyll’s template engine.

This would keep things simple. You only need to know one system and an external service to run the CI would not be needed.

cweagans commented 6 years ago

Circle CI and Travis are pretty simple, and they're used a lot in other projects. I can see where you're coming from though.

hendricius commented 5 years ago

I am closing this for now - let's focus on what matters: baking amazing bread 😄