luminus-template icon indicating copy to clipboard operation
luminus-template copied to clipboard

Proposal: diff links in README to compare various luminus lein +option-s

Open nfedyashev opened this issue 3 years ago • 9 comments

This might not be very helpful for experienced Clojure developers and Luminus users but I believe this might save some time(and a bit of headache) for new Luminus users for exploring various lein template options and seeing how they compare with the base version.

When I started using Luminus for the first time, that was a bit time consuming for installing various versions just to compare the end result and decide whether I need it or not. Perhaps someone else had that pain as well.

This issue is just a proposal and an early version of a possible solution to get some initial feedback before putting more time into it.

This is what a new version of README may look like - https://github.com/nfedyashev/luminus-template/tree/readme-with-diff-links-concept "diff" part may look a bit repetitive, but that's just the 1st version.

How it's done: luminusdiff is a simple Clojure app that pulls in all the latest lein-template versions from clojars, then it generates a template for each option for the given version and push it to the same repo. This app is launched by cronjob from Github Actions and in case it notices a new release, it generates templates for each option and pushes as separate branches back to Github. Thanks to Github Actions automation it will be always up to date and doesn't require much maintenance. If needed this repo could be transferred to the luminus-framework org or I can add you to it.

Currently it has 3700+ branches for all the latest versions and options for those versions. Oldest version is 2.9.12.71 which is about 2 yrs old. Before that version some of the current options is missing.

The initial idea is from http://railsdiff.org/

Let me know what do you think about this proposal. Thanks

nfedyashev avatar Jul 27 '20 12:07 nfedyashev

I like this idea. It could be a good reference as well as being educational on how things are structured. By the way, if you'd like I could add you as a maintainer on the project.

yogthos avatar Jul 27 '20 13:07 yogthos

Alright then, I'll continue working on this(disable checking too old versions, final Github Action automation, code cleanup etc)

By the way, if you'd like I could add you as a maintainer on the project.

wow didn't expect this. Much appreciated.

nfedyashev avatar Jul 27 '20 13:07 nfedyashev

👍

yogthos avatar Jul 27 '20 13:07 yogthos

@yogthos FYI: this is still WIP. I need to find some time and figure out what's wrong with the cron job. Let's keep 3.82 diff links for now in README

nfedyashev avatar Aug 02 '20 14:08 nfedyashev

sounds like a plan

yogthos avatar Aug 02 '20 15:08 yogthos

@yogthos I was thinking about adding a manual trigger workflow(docs)

the idea is to simplify new releases, just bump new version everywhere(including README luminusdiff links), click/trigger manual workflow and missing branches are instantly created. No need to wait until the next daily cronjob.

I need to test it, perhaps I need to add you as a maintainer to the luminusdiff repo. Or this repo could be transferred to the luminus-framework organization. Or perhaps it's not an issue at all.

Let me know what do you think about this.

nfedyashev avatar Aug 20 '20 08:08 nfedyashev

I think making this an automated process would be good. Probably moving the repo over to the org would be best.

yogthos avatar Aug 20 '20 22:08 yogthos

@yogthos Sorry for the delay I got a new job recently. I'll get back to this issue(and some other) as soon as I can

nfedyashev avatar Sep 05 '20 23:09 nfedyashev

Oh no worries, and congrats on a new job. :)

yogthos avatar Sep 06 '20 01:09 yogthos