gheja / wu3-segments

A font based on the displays on subway line U3 in Vienna (U-Bahn U3, Wien), it is free, open source and mostly complete. Probably still work in progress.
SIL Open Font License 1.1
23 stars 1 forks source link

Please don't post binary build artifacts in your main branch #1

Open alerque opened 5 days ago

alerque commented 5 days ago

I'm looking at setting up (and of course contributing) some build and release tooling for this (adding birdfont source support to fontship), but for the moment can I recommend not posting release artifacts in Git in your main branch? This seems innocuous enough at first when there are only a few for a small project, but it becomes a huge size and maintenance burden as repos grow. And yes I'm aware it is common practice for font repos to post generated release artifacts this way. I make the case elsewhere and can point you to why I think this is a very poor practice. I just wanted to catch you before the precedent was too set in stone for this repo and make the case for why it would be better not to start down that road. Versioning your sources in Git is great, but for release artifacts there are better ways.

I would even recommend removing the one artifact you have while it is still early by rebasing it out of the last couple commits. You can keep a backup branch with it around for now if you are on the fence still, but get it out of the history for main. Then add a tag corresponding to the sources at your pre-release point, then attach the TTF to the GH Release for the tag. That way people can download the ready-made font still but without introducing binary-blob churn in your repo.

gheja commented 1 day ago

Thank you for your suggestion! I have been actually thinking about this for a good while, but a few years back I decided to put the binaries/releases in the repo itself so they will not depend on the platform - I'd hate to lose my releases if one day GitHub decided to pull something off, I'd also hate to rush to write a scraper to save them.

I agree this is not the optimal way, but I think it is an acceptable compromise while not dealing with hundred megabyte releases. I don't want to discourage you or anything, I just explained my thought process and goals.

And also thank you for thinking about contributing! I'm curious about what you're planning.