Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate actions we take to release GOV.UK Frontend #5580

Open
5 of 11 tasks
romaricpascal opened this issue Jan 6, 2025 · 0 comments
Open
5 of 11 tasks

Automate actions we take to release GOV.UK Frontend #5580

romaricpascal opened this issue Jan 6, 2025 · 0 comments
Assignees
Labels
epic Epics are used in planning project boards to group related stories

Comments

@romaricpascal
Copy link
Member

romaricpascal commented Jan 6, 2025

Brief

Identify which of the actions we take for releasing that we currently run on developers' machines on the day of the release could be automated and run through GitHub Actions.

Once identified, design and implement GitHub Actions workflows to automate them.

Two things to particularly keep in mind for this:

  • security: especially if we automate publishing the package to npm, we don't want the automation to make it easier to compromise our package or reduce auditability
  • resumability: if the automated action fails on GitHub Actions, how can we resume from it either on GitHub Actions itself or on developers' machines
  • maintainability: implementing something as a GitHub Actions may make it harder to change in the future, as we'll need to update code, not just guidance so we'll need to consider this picking what to implement and how

From a planning perspective, it'd be great if we manage to break down the work in such a way that even if we don't automate the whole of what we want to automate by the end of the cycle, we're at least able to have some of the automation we'd like to have running for future releases. We'd then schedule the implementations of the ones we couldn't do in future cycles or as small stories.

Epic lead

@domoscargin

Driving role(s)

@owenatgov

Supporting roles

@Izabela-16

Further detail

A couple of repositories in our space have some automation for their release:

  • govuk-prototype-kit, for which we have a breakdown of what the scripts do. There's a few intersting things around pulling PR content from the CHANGELOG (on top of publishing the package itself).
  • stylelint-config-gds, which pushes to npm when the package version changes through this GitHub action

Many other open-source projects will also have automations for releasing new versions which we could take a look at (though being carefull not to bring too many dependencies to achieve it).

GitHub features that might be useful:

Tasks

Preview Give feedback
  1. documentation research
    domoscargin
  2. research 🚀 release
    domoscargin owenatgov
  3. research
    owenatgov
  4. github_actions
  5. github_actions 🚀 release
  6. github_actions 🚀 release
  7. github_actions 🚀 release
@romaricpascal romaricpascal added the epic Epics are used in planning project boards to group related stories label Jan 6, 2025
@romaricpascal romaricpascal changed the title Automate (part of) the release actions Automate actions we take to release GOV.UK Frontend Jan 6, 2025
@domoscargin domoscargin moved this to In progress 📝 in GOV.UK Design System cycle board Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Epics are used in planning project boards to group related stories
Projects
Status: No status
Development

No branches or pull requests

4 participants