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

Improve release steps, based on doing a release #725

Merged
merged 7 commits into from
May 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 39 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,22 @@ Note: We're not following semantic versioning yet, we are going to talk about th

## Unreleased

🏠 Internal:

- Improve release steps, based on doing a release
([PR #725](https://github.com/alphagov/govuk-frontend/pull/725))

## 0.0.30-alpha (Minor release)

Fixes:
🔧 Fixes:

- Update component readme files content
([PR #704](https://github.com/alphagov/govuk-frontend/pull/704))

- Fix panel body element rendering with no text
([PR #707](https://github.com/alphagov/govuk-frontend/pull/707))

New features:
🆕 New features:

- Add override classes to set `display` property to `block`, `inline` and `inline-block` (PR [#694](https://github.com/alphagov/govuk-frontend/pull/654))

Expand All @@ -27,7 +32,7 @@ New features:

- Add ability to pass explicit name value to checkbox items (PR [#719](https://github.com/alphagov/govuk-frontend/pull/719))

Internal:
🏠 Internal:

- Run tests in pre-release
([PR #706](https://github.com/alphagov/govuk-frontend/pull/706))
Expand All @@ -40,7 +45,7 @@ Internal:

## 0.0.29-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- Restructure project to enable it to be published as a single package

Expand Down Expand Up @@ -288,7 +293,7 @@ Breaking changes:
([PR #665](https://github.com/alphagov/govuk-frontend/pull/665))


Fixes:
🔧 Fixes:

- Remove redundant font-family declaration from the button component – this will
also fix an issue where the button uses New Transport when printed instead of
Expand All @@ -306,7 +311,7 @@ Fixes:
- Remove normalize from /dist builds
(PR [#699](https://github.com/alphagov/govuk-frontend/pull/699))

New features:
🆕 New features:

- We're now using ES6 Modules and [rollup](https://rollupjs.org/guide/en) to distribute our JavaScript. (PR [#652](https://github.com/alphagov/govuk-frontend/pull/652))
- Checkboxes and Radios conditional reveal
Expand All @@ -329,7 +334,7 @@ New features:

To include global styles, you can set `$govuk-global-styles` variable to `true`.

Internal:
🏠 Internal:

- Remove unused step in travis.yml file
(PR [#690](https://github.com/alphagov/govuk-frontend/pull/690))
Expand Down Expand Up @@ -359,7 +364,7 @@ Missing files were:

## 0.0.27-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- Removed an (undocumented) modifier `govuk-c-radio__item--inline` which made
radio buttons inline, in favour of a new block-level modifier
Expand All @@ -382,7 +387,7 @@ Breaking changes:
(PR [#631](https://github.com/alphagov/govuk-frontend/pull/631))
- Rename captionSize table argument to captionClasses ([PR #643](https://github.com/alphagov/govuk-frontend/pull/643))

Fixes:
🔧 Fixes:
- Link styles, as well as links within the back-link, breadcrumbs, button,
error summary, footer and skip link components defend against the
`a:link:focus` selector in GOV.UK Template, which was overriding focussed
Expand All @@ -391,7 +396,7 @@ Fixes:
- Fix table captions to allow heading classes
(PR [#633](https://github.com/alphagov/govuk-frontend/pull/633))

New features:
🆕 New features:
- Add `govuk-main-wrapper--l` a variant of the main page wrapper to use when a
design does not include back links, breadcrumbs or phase banners
(PR [#602](https://github.com/alphagov/govuk-frontend/pull/602))
Expand All @@ -415,7 +420,7 @@ New features:

Note: Our JavaScript work is ongoing. In the next release of GOV.UK Frontend both of our script will be modularised and split into common functions. This will allow you to use the polyfills in your bundler/build pipeline. For this reason, you might want to wait until the next release before adding these polyfill scripts into your project.

Internal:
🏠 Internal:
- Update check script for new components and tweak docs
(PR [#589](https://github.com/alphagov/govuk-frontend/pull/589))
- Listen for development server on different port for tests
Expand All @@ -440,23 +445,23 @@ Internal:

## 0.0.26-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- The error summary component now has a default bottom margin
(PR [#583](https://github.com/alphagov/govuk-frontend/pull/583))
- Nest components correctly
(PR [#584](https://github.com/alphagov/govuk-frontend/pull/584))

Fixes:
🔧 Fixes:

- Make section break line 1px instead of 2px
(PR [#585](https://github.com/alphagov/govuk-frontend/pull/585))

New features:
🆕 New features:

- Add footer component (PR [#569](https://github.com/alphagov/govuk-frontend/pull/569))

Internal:
🏠 Internal:

- Update pre-release step to check for new components
(PR [#574](https://github.com/alphagov/govuk-frontend/pull/574))
Expand All @@ -467,19 +472,19 @@ Internal:

## 0.0.25-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- The colour variable `$govuk-fuschia` has been replaced with a new variable
with the correct spelling (`$govuk-fuchsia`) – thanks to
[@charlesrt](https://github.com/charlesrt) for reporting.
(PR [#571](https://github.com/alphagov/govuk-frontend/pull/571))

New features:
🆕 New features:

- The input macro now accepts a `type` which allows you to override the default
type="text" (PR [#568](https://github.com/alphagov/govuk-frontend/pull/568))

Fixes:
🔧 Fixes:
- The transparent outline has been removed from the button, as it already has
a transparent border which is visible when overriding colours in the browser
(PR [#552](https://github.com/alphagov/govuk-frontend/pull/552))
Expand All @@ -493,7 +498,7 @@ Fixes:
match the previous implementation in Elements
(PR [#568](https://github.com/alphagov/govuk-frontend/pull/568))

Internal:
🏠 Internal:
- The logic to determine button text colour automatically has been removed and
replaced with a new variable $govuk-button-text-colour
(PR [#552](https://github.com/alphagov/govuk-frontend/pull/552))
Expand All @@ -509,7 +514,7 @@ Internal:

## 0.0.24-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- Namespace existing mixins and functions ( PR [#557](https://github.com/alphagov/govuk-frontend/pull/557))
- The class `.govuk-section-break__visible` has been renamed to
Expand All @@ -518,14 +523,14 @@ Breaking changes:
- Simplify `src/` folder structure, remove tree and string manipulations from
gulp tasks (PR [#545](https://github.com/alphagov/govuk-frontend/pull/545))

New features:
🆕 New features:

- A new variable `$govuk-input-border-colour` has been introduced to define the
border colour for inputs. The Input, Select and Textarea components have been
updated to use it.
(PR [#551](https://github.com/alphagov/govuk-frontend/pull/551))

Fixes:
🔧 Fixes:
- Removes media query display on body from compiled CSS
(PR [#560](https://github.com/alphagov/govuk-frontend/pull/560))

Expand All @@ -535,7 +540,7 @@ Fixes:
borders, rather than relying on inheriting it
(PR [#551](https://github.com/alphagov/govuk-frontend/pull/551))

Internal:
🏠 Internal:

- The 'prose scope' has been updated to extend only placeholder classes. The
corresponding classes the prose scope extends have been updated to provide a
Expand All @@ -552,7 +557,7 @@ Internal:

## 0.0.23-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- Remove Cookie-banner and Previous-next components
(PR [#488](https://github.com/alphagov/govuk-frontend/pull/488), PR [#523](https://github.com/alphagov/govuk-frontend/pull/523))
Expand All @@ -578,7 +583,7 @@ Breaking changes:
avoid tying it to a particular colour.
(PR [#525](https://github.com/alphagov/govuk-frontend/pull/525))

New features:
🆕 New features:

- Button hover colour now has a semantic Sass name: $govuk-button-hover-colour
(PR [#406](https://github.com/alphagov/govuk-frontend/pull/406))
Expand All @@ -592,7 +597,7 @@ New features:
`<hr>`, adds margin (xl, l and m). There is also an option to make the `<hr>`
border visible or invisible. (PR [#483](https://github.com/alphagov/govuk-frontend/pull/483))

Fixes:
🔧 Fixes:

- Remove double margin from Date input component
(PR [#451](https://github.com/alphagov/govuk-frontend/pull/451))
Expand All @@ -608,7 +613,7 @@ Fixes:
border for errors and a bottom margin. Add example of form errors to preview app
(PR [#591](https://github.com/alphagov/govuk-frontend/pull/591))

Internal:
🏠 Internal:

- Replace Mocha/Chai with Jest, re-enable task tests, add back-link component.
Special thanks to [@htmlandbacon](https://github.com/htmlandbacon) and [@tyom](https://github.com/tyom) for sharing their approaches.
Expand Down Expand Up @@ -640,7 +645,7 @@ Internal:

## 0.0.22-alpha (Breaking release)

Breaking changes:
💥 Breaking changes:

- The link styles in the core layer no longer style `a` elements directly, but
instead provide a `govuk-link` class which you will need to apply to links
Expand All @@ -651,7 +656,7 @@ Breaking changes:
- Rename `legal-text` argument accepted by `legal-text` component to `text` (PR [#431](https://github.com/alphagov/govuk-frontend/pull/432))
- Rename `legal-text` component to `warning-text` (PR [#431](https://github.com/alphagov/govuk-frontend/pull/432))

New features:
🆕 New features:

- The prose scope has been extended to style links, which means links within the
scope do not need the `govuk-link` class applied.
Expand All @@ -660,7 +665,7 @@ New features:
class (`govuk-link--muted`).
(PR [#427](https://github.com/alphagov/govuk-frontend/pull/427))

Fixes:
🔧 Fixes:

- The error summary component allows users to pass HTML for an entry in the list
again. (PR [#428](https://github.com/alphagov/govuk-frontend/pull/428))
Expand All @@ -675,7 +680,7 @@ Fixes:
(PR [#427](https://github.com/alphagov/govuk-frontend/pull/427))
- Adjust `warning-text` icon by 1px for New Transport

Internal:
🏠 Internal:

- Add prose scope example (PR [#429](https://github.com/alphagov/govuk-frontend/pull/429))
- Links within the review app and the examples have been updated to use the
Expand All @@ -688,18 +693,18 @@ Internal:
## 0.0.21-alpha (Breaking release)
Skipped 0.0.20-alpha due to difficulties with publishing.

Breaking changes:
💥 Breaking changes:

- Rename ‘govuk-body-lede’ to ‘govuk-body-lead’. (PR [#405](https://github.com/alphagov/govuk-frontend/pull/405))
- Pluralise radio component (PR [#388](https://github.com/alphagov/govuk-frontend/pull/388))
- Pluralise checkbox component (PR [#384](https://github.com/alphagov/govuk-frontend/pull/384))

New features:
🆕 New features:

- Add `width` classes, which were based on `form-control` classes that were
specific to form control in Elements. (PR [#413](https://github.com/alphagov/govuk-frontend/pull/413))

Fixes:
🔧 Fixes:

- Make buttons 40px high including box shadow (PR [#416](https://github.com/alphagov/govuk-frontend/pull/416))
- Fix focus outline style in Chrome and Safari (PR [#414](https://github.com/alphagov/govuk-frontend/pull/414))
Expand Down
36 changes: 17 additions & 19 deletions docs/publishing.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,35 @@
# Publishing components

### Publishing components manually (while in Alpha/Private beta)
# Publishing GOV.UK Frontend

1. Checkout **master** and pull latest changes.

2. Create and checkout a new branch (`release-[version-number]`).
2. Run `npm install` to ensure you have the latest dependencies installed.

3. Create and checkout a new branch (`release-[version-number]`).

3. Update [`CHANGELOG.md`](../CHANGELOG.md) "Unreleased" heading with the new version number.
4. Update [`CHANGELOG.md`](../CHANGELOG.md) "Unreleased" heading with the new version number.
This should be incremented based on [Semantic versioning](https://semver.org/) from the unreleased changes listed.

4. Update [`package.json`](../package/package.json) version with the new version number.
5. Update [`package/package.json`](../package/package.json) version with the new version number.
This should be incremented based on [Semantic versioning](https://semver.org/) from the unreleased changes listed.

5. Save the changes. Do not commit.
6. Save the changes. Do not commit.

6. Run `npm run pre-release`.
7. Run `npm run pre-release`.

This will:
- copy files from `src/` to `package/` and run tests
- add [vendor prefixes](https://github.com/postcss/autoprefixer) to CSS in `package/`
- build "govuk-frontend" Sass and JavaScript files into `dist/`
- commit all changes and push the branch to remote

7. (Optional) Test in [GOV.UK Design System]([email protected]:alphagov/govuk-design-system.git)
8. (Optional) Test in [GOV.UK Design System]([email protected]:alphagov/govuk-design-system.git)

If you want to test your changes work correctly when used in the GOV.UK Design System you can use [npm link](https://docs.npmjs.com/cli/link) to test before publishing.

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

Expand All @@ -37,16 +39,16 @@ This will:
npm unlink ../govuk-frontend/package/
```

8. Create a pull request and copy the changelog text.
9. 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.

9. Once the pull request is approved, merge to **master**.
10. Once the pull request is approved, merge to **master**.

10. Checkout **master** and pull the latest changes.
11. Checkout **master** and pull the latest changes.

11. Log into npm, using team [credentials](https://github.com/alphagov/design-system-team-credentials/tree/master/npm/govuk-patterns-and-tools).
12. Log into npm, using team [credentials](https://github.com/alphagov/design-system-team-credentials/tree/master/npm/govuk-patterns-and-tools).

12. Run `npm run release`.
13. Run `npm run release`.

This will:
- check that you're logged in to npm as the correct user.
Expand All @@ -55,17 +57,13 @@ This will:
- push the tag to remote origin
- create a zip file of the `dist` directory

13. Create a release in the [Github interface](https://github.com/alphagov/govuk-frontend/releases/new)
14. Create a release in the [Github interface](https://github.com/alphagov/govuk-frontend/releases/new)
- select the latest tag version
- set "GOV.UK Frontend release v[version-number]" as the title
- add release notes from changelog
- attach the generated ZIP that is located at the root of the project
- publish release

14. (Required for private beta) Grant "test" user access to any newly published package(s).
```bash
npm access grant read-only govuk-frontend:test @govuk-frontend/[component-name]
```
15. Log out from npm
```bash
npm logout
Expand Down