Skip to content
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
29 changes: 21 additions & 8 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,29 @@ When reviewing merged PR's the labels to be used are:
* internal - Used for internal changes that still require a mention in the
changelog/release notes.

Unlabeled PRs are left out of the changelog.

## Release

Once the prep work is completed, the actual release is straight forward:

* First, ensure that you have installed your projects dependencies:
* First, check out an up-to-date `master` and install the project's
dependencies:

```sh
git checkout master
git pull
pnpm install
```

* Second, ensure that you have obtained a
* Second, ensure that you are logged in to npm as a user with publish access
to `ember-cli-deploy-revision-data`. `npm whoami` should print your username.

* Third, ensure that you have obtained a
[GitHub personal access token][generate-token] with the `repo` scope (no
other permissions are needed). Make sure the token is available as the
`GITHUB_AUTH` environment variable.
`GITHUB_AUTH` environment variable. Both lerna-changelog and release-it's
GitHub release step read it from there.

For instance:

Expand All @@ -50,11 +59,15 @@ pnpm install
* And last (but not least 😁) do your release.

```sh
npx release-it
pnpm release
```

[release-it](https://github.com/release-it/release-it/) manages the actual
release process. It will prompt you to to choose the version number after which
you will have the chance to hand tweak the changelog to be used (for the
`CHANGELOG.md` and GitHub release), then `release-it` continues on to tagging,
pushing the tag and commits, etc.
release process. It will prompt you to choose the version number (or pass it
directly, e.g. `pnpm release major`). The changelog entry is generated from
the labeled PRs and written straight to `CHANGELOG.md` and the GitHub release,
without opening an editor, so fix up labels and titles beforehand. `release-it`
then continues on to committing, tagging, pushing the tag and commits,
publishing to npm, and creating the GitHub release.

To preview a release without changing anything, run `pnpm release --dry-run`.
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"test": "tests"
},
"scripts": {
"release": "release-it",
"test": "eslint index.js lib/**/*.js tests/**/*.js && node ./tests/runner.js"
},
"dependencies": {
Expand All @@ -26,15 +27,14 @@
"simple-git": "^4.0.2"
},
"devDependencies": {
"@octokit/rest": "^18.12.0",
"@release-it-plugins/lerna-changelog": "^9.0.0",
"chai": "^4.3.7",
"chai-as-promised": "^7.1.1",
"ember-cli": "^3.28.6",
"eslint": "^8.42.0",
"glob": "^10.2.6",
"mocha": "^8.3.2",
"release-it": "^14.6.1",
"release-it-lerna-changelog": "^3.1.0"
"release-it": "^20.2.1"
},
"engines": {
"node": ">= 20"
Expand All @@ -44,7 +44,7 @@
},
"release-it": {
"plugins": {
"release-it-lerna-changelog": {
"@release-it-plugins/lerna-changelog": {
"infile": "CHANGELOG.md",
"launchEditor": false
}
Expand Down
Loading
Loading