PurpleKingdomGames / tyrian

Elm-inspired Scala UI library.
https://tyrian.indigoengine.io/
MIT License
348 stars 26 forks source link

Thoughts on using sbt-ci-release? #79

Open gvolpe opened 2 years ago

gvolpe commented 2 years ago

I wonder if this was considered before? It would be quite useful as every merge to main will automatically publish a SNAPSHOT so users don't need to wait for a release to use the latest version :)

davesmith00000 commented 2 years ago

Definitely should.

You know you hear those stories about plumbers who do brilliant work on the job, but the plumbing in their homes is all stuck together with duct tape? That's me and build systems.

I'll look into it after this release. 😉

gvolpe commented 2 years ago

Haha fair enough! I know it takes time to set up, but it's a bless once you do :)

BTW you and your work on Tyrian and Indigo had a huge shout-out on Chris' latest podcast, which should come out in a few weeks :)

davesmith00000 commented 2 years ago

A shout-out on a tooling podcast? ...well now I'm going to be doubly-embarrassed about the ci setup... 😅 😆

armanbilge commented 2 years ago

Apologies for sticking my nose in again where it doesn't belong 😛 but you may also want to have a look at sbt-typelevel which in addition to CI release/snapshots sets up MiMa binary-compatibility checking which is pretty important for libraries :)

davesmith00000 commented 2 years ago

Not at all, the more the merrier @armanbilge. Always good to get another opinion. 😄

I'll add it to the list of things to do/look into. Tyrian is more framework than library, and I tend to roll everything forward in lock-step (for both Tyrian and Indigo). So as long as you're doing that too when you upgrade versions, you're probably fine, but automated checking certainly couldn't hurt. 👍

armanbilge commented 2 years ago

Yes, internally binary compatibility is not so important. But if there are some other libraries that integrate with tyrian/indigo then it would be :)

In any case, it's still good practice to appropriately bump your version when you break binary compatibility.