Skip to content

Latest commit

 

History

History
102 lines (66 loc) · 5.79 KB

publishing.md

File metadata and controls

102 lines (66 loc) · 5.79 KB

Steps you must complete before you release a new version of GOV.UK Frontend

  1. Raise new issues in the team GitHub repositories (govuk-frontend, govuk-frontend-docs, govuk-prototype-kit) to:
  • create release notes for the new release (example card: #1986)
  • create release notes for the new version of GOV.UK Prototype Kit (example card: #958)
  • create a card for the new release of GOV.UK Frontend (example card: #1987)
  • update the GOV.UK Design System to use the new release of GOV.UK Frontend (example card: #1347)
  • create a card for the new release of GOV.UK Prototype Kit (example card: #917)
  • update the GOV.UK Prototype Kit to use the new release (example card: #923)
  1. Add the issues to the Design System sprint board.

  2. Write a summary to post on Slack after the release. For example:

    🚀 We’ve just released GOV.‌UK Frontend v3.7.0. It's now easier and faster to use our Sass. We've also made improvements to back links, breadcrumbs, lists and the header. Thanks to @SLACK-NAME for helping with this release. https://github.com/alphagov/govuk-frontend/releases/tag/v3.7.0

    Remember that Prototype Kit needs its own summary, since it has its own release notes.

  3. Ask a technical writer or a content designer to review the summary.

  4. Before you proceed to the next section, confirm with the appropriate person that the release notes and any related pull requests are ready to publish. Depending on the issue, the appropriate person may be the technical writer, the content designer, or a developer. If you’re unsure who it is, then ask within the #govuk-design-system Slack channel.

Steps you must complete to release a new version of GOV.UK Frontend

  1. Checkout master and pull latest changes.

  2. Run nvm use to ensure you are using the right version of Node.js and npm.

  3. Run npm install to ensure you have the latest dependencies installed.

  4. Create and checkout a new branch (release-[version-number]). The version number is determined by looking at the current "Unreleased" CHANGELOG changes and updating the previous release number depending on the kind of entries:

  • Breaking changes corresponds to a major (1.X.X) change.
  • New features corresponds to a minor (X.1.X) change.
  • Fixes corresponds to a patch (X.X.1) change.

For example if the previous version is 2.3.0 and there are entries for Breaking changes then the new release should be 3.0.0.

See the versioning documentation for more information.

  1. Update CHANGELOG.md "Unreleased" heading with the new version number. Add a new "Unreleased" heading above this, so people raising new PRs know where to add these to the Changelog.

  2. Update package/package.json version with the new version number.

  3. Save the changes. Do not commit.

  4. Run npm run build-release, you will be prompted to continue or cancel.

  5. (Optional) Test in GOV.UK Design System

If you want to test your changes work correctly when used in the GOV.UK Design System you can use npm link to test before publishing.

cd ../govuk-design-system
git checkout master
git pull
npm install # note running `npm install` after `npm link` will destroy the link.
npm link ../govuk-frontend/package/

When you have finished you need to unlink the package

npm unlink ../govuk-frontend/package/
  1. Create a pull request and copy the changelog text. When reviewing the PR, check that the version numbers have been updated and that the compiled assets use this version number.

  2. Once the pull request is approved, merge to master.

  3. Checkout master and pull the latest changes.

  4. Log into npm (npm login), using team credentials.

  5. Run npm run publish-release, you will be prompted to continue or cancel.

  6. View the created tag in the Github interface

  • select the latest tag
  • press 'Edit tag'
  • set "GOV.UK Frontend v[version-number]" as the title
  • add release notes from changelog
  • attach the generated ZIP that has been generated at the root of this project
  • publish release
  1. Log out from npm
npm logout

Steps you must complete after you release a new version of GOV.UK Frontend

  1. Update the GOV.UK Design System, Prototype Kit, and Frontend Docs to use a new release of GOV.UK Frontend, and release a new version of the Prototype Kit.

  2. Post your summary of the:

  1. Move cards on the Design System sprint board from the Ready to Release column to Done.

  2. Close any associated milestones.