govuk-one-login / service-header

A header for services using GOV.UK One Login
https://govuk-one-login.github.io/service-header/
6 stars 4 forks source link

Tag and release project #46

Open markhobson opened 1 month ago

markhobson commented 1 month ago

Although there is a CHANGELOG for this project, there are no milestones, tags or releases.

It would be useful for downstream projects if there was a Git tag for each release, and ideally a GitHub release too.

danacotoran commented 1 month ago

Hi @markhobson, thanks for your suggestions!

I'd like to understand more about the way you use the code in this repo: As you know this service header is not currently distributed on any package hosting service. But would it be useful to you if it was? Even though we are not releasing and distributing this project via e.g. npm, would it still be helpful to you if Git tags and releases were used?

Many thanks! 🙌

markhobson commented 1 month ago

Hi @danacotoran, thanks for your response.

We're currently using the service header in a Python Flask app. This requires us to provide the template using Jinja instead of Nunjucks (see #25). Ideally this would be provided via a pip package, but in the meantime we copy & paste the content from the Nunjucks template at a specific commit.

We also need to build the web assets for the service header. Ideally this would be provided via a npm package like govuk-frontend does, but for now we add this repo as a GitHub URL at a specific commit. We then build the assets from source since we customise the settings.

Both these tasks require a specific commit to keep them aligned. This is where a Git tag would be helpful - we could obtain the template for that tag and add the npm package at that tag. We currently have to use a recent Git commit hash. This also requires us to guess which commit matches which release in the CHANGELOG, which a Git tag would resolve.

So in summary:

  1. A Git tag for each release would be better than a commit for our current process
  2. A npm package would improve the process to build our web assets (and presumably help Nunjucks-based projects consume the template)
  3. A Jinja template and pip package would improve how we consume the template (covered by #25)