Skip to content
Merged
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
31 changes: 21 additions & 10 deletions docs/publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,27 @@

These are the steps to publish a regular release on NPM and as a GitHub release:

- Determine if it should be a major, minor, or patch release. The "[major version required](https://github.com/web-platform-dx/web-features/pulls?q=is%3Apr+is%3Amerged+label%3A%22major+version+required%22+sort%3Aupdated-desc)" and "[minor version required](https://github.com/web-platform-dx/web-features/pulls?q=is%3Apr+is%3Amerged+label%3A%22minor+version+required%22+sort%3Aupdated-desc)" labels should be used to support this decision.
- Update `packages/web-features/package.json` and `packages/web-features/package-lock.json` in a PR and get review.
- Merge the PR and draft a new release at https://github.com/web-platform-dx/web-features/releases/new
- Fill in the tag name `vX.Y.Z` manually as both the tag and release title
- For major releases, add a "Breaking Changes" section up top.
- For minor releases, add a "What's New" section up top.
- Click "Generate release notes"
- Search for "<" and make sure all element names are quoted with backquotes
- Remove all lines from Dependabot
- Publish the GitHub release
1. Determine if it should be a major, minor, or patch release. The "[major version required][major-version]" and "[minor version required][minor-version]" labels should be used to support this decision.
1. Update `packages/web-features/package.json` and `packages/web-features/package-lock.json` in a PR and get review.
1. Merge the PR and draft a new release at https://github.com/web-platform-dx/web-features/releases/new.
1. Fill in the tag name `vX.Y.Z` manually as both the tag and release title.
1. For major releases, add a `## Breaking Changes` section up top.
1. For minor releases, add a `## What's New` section up top.
1. Click **Generate release notes**.
1. In the release description, find unescaped `<` characters and make sure that HTML elements are enclosed with backticks.

This regular expression can help:

```regex
/ (?<!`)<(.*?)> /
```

1. Remove all lines from Dependabot.
1. Publish the GitHub release.
1. Remove the "[major version required][major-version]" and "[minor version required][minor-version]" labels from any pull requests that were included in the release.

[major-version]: https://github.com/web-platform-dx/web-features/pulls?q=is%3Apr+is%3Amerged+label%3A%22major+version+required%22+sort%3Aupdated-desc
[minor-version]: https://github.com/web-platform-dx/web-features/pulls?q=is%3Apr+is%3Amerged+label%3A%22minor+version+required%22+sort%3Aupdated-desc

Publishing the GitHub release creates the tag. This triggers the [Publish web-features GitHub Actions workflows](https://github.com/web-platform-dx/web-features/blob/main/.github/workflows/publish_web-features.yml), uploads GitHub release artifacts and publishes the package to NPM.

Expand Down