AngeloStavrow / indigo

An IndieWeb-friendly custom theme for Hugo
MIT License
58 stars 33 forks source link

Document a theme maintenance process #64

Closed AngeloStavrow closed 5 years ago

AngeloStavrow commented 5 years ago

Per the hugoThemes proposed update (gohugoio/hugoThemes#668), all themes must have some kind of theme maintenance process. If a theme demo breaks with the latest Hugo it will be removed from the Theme Showcase (it is the theme author's obligation to make sure that a theme renders with the latest Hugo).

While this is currently in the proposal stage, it's worth thinking about.

(This issue tracks follow-up work from #57.)

AngeloStavrow commented 5 years ago

From the referenced gohugoio/hugoThemes#668 issue above (emphasis theirs):

We need to make it very clear to theme authors that themes need to be always maintained and that they should not be treated the same as personal projects

[…]

  • [T]heme maintenance. If a theme demo breaks with the latest Hugo it will be removed from the Theme Showcase (it is the theme author's obligation to make sure that a theme renders with the latest Hugo).

As I think about what this means for Indigo, two things come to mind:

  1. A process is necessary to ensure that the theme builds and renders as expected with each release of Hugo; and
  2. A decision needs to be made for the level of support that I'm capable of providing for users of the theme.

Support commitment

The second point is the easiest to address, so I'm going to do so first: I am one person, working on this project on weekends and evenings, without any expectation of recognition or reward — I like Hugo, so I contribute my time and effort. I can only provide support for the latest (stable) version of Indigo on the latest (stable) version of Hugo. If you're running into trouble, please be sure to upgrade both the theme and Hugo before opening an issue.

Going forward, this will be added to a "Support and Maintenance" document, and will be enforced with theme.toml's minVersion property.

Maintenance process

The first point, which more specifically addresses the proposed requirement, is a little more involved. Here's what I intend on doing about it — a process document will be added to the repository once all the details are ironed out.

  1. With every new release of Hugo, once the brew/chocolatey package is available, update the development system and build the demo site and the theme gallery locally.
  2. If everything looks good, post a short update to the demo site along the lines of: "Tested vX.Y.Z of Indigo to build successfully against vA.B.C of Hugo" — with links to the release announcements for those versions Indigo and Hugo, as well as a link to the maintenance process document.
  3. If either site doesn't build successfully, fix the problem and try again.

There are a few definitions and open questions that need to be considered here.

As these questions are answered and refined by the Hugo community, work on this maintenance process will evolve.