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

Add automated release setup. #694

Merged
merged 2 commits into from May 28, 2019
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions .travis.yml
Expand Up @@ -32,3 +32,6 @@ cache:
before_install:
- npm config set spin false
- npm install -g npm@4

install:
- yarn --ignore-engines
2 changes: 0 additions & 2 deletions CHANGELOG.md
@@ -1,5 +1,3 @@
# ember-cli-fastboot changelog
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the title here makes updating much easier (the tooling can always prepend the new version info, instead of splicing it in)


## 2.0.4

* Fix issue in IE11 when using `Array.from`
Expand Down
41 changes: 41 additions & 0 deletions RELEASE.md
@@ -0,0 +1,41 @@
# Release

Releases are mostly automated using
[release-it](https://github.com/release-it/release-it/) and
[lerna-changelog](https://github.com/lerna/lerna-changelog/).


## Preparation

Since the majority of the actual release process is automated, the primary
remaining task prior to releasing is confirming that all pull requests that
have been merged since the last release have been labeled with the appropriate
`lerna-changelog` labels and the titles have been updated to ensure they
represent something that would make sense to our users. Some great information
on why this is important can be found at
[keepachangelog.com](https://keepachangelog.com/en/1.0.0/), but the overall
guiding principles here is that changelogs are for humans, not machines.

When reviewing merged PR's the labels to be used are:

* breaking - Used when the PR is considered a breaking change.
* enhancement - Used when the PR adds a new feature or enhancement.
* bug - Used when the PR fixes a bug included in a previous release.
* documentation - Used when the PR adds or updates documentation.
* internal - Used for internal changes that still require a mention in the
changelog/release notes.


## Release

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

```
yarn install
yarn release
```

The `release` script leverages
[release-it](https://github.com/release-it/release-it/) to do the mechanical
release process. It will prompt you through the process of choosing the version
number, tagging, pushing the tag and commits, etc.
4 changes: 2 additions & 2 deletions appveyor.yml
Expand Up @@ -21,8 +21,8 @@ install:
- appveyor-retry npm i -g bower # for ember-cli-addon-tests
- npm --version
- appveyor-retry choco install phantomjs
- appveyor-retry yarn
- appveyor-retry yarn add mocha-appveyor-reporter # must be installed locally.
- appveyor-retry yarn --ignore-engines
- appveyor-retry yarn add mocha-appveyor-reporter --ignore-engines # must be installed locally.


# Post-install test scripts.
Expand Down
19 changes: 19 additions & 0 deletions package.json
Expand Up @@ -15,6 +15,7 @@
"scripts": {
"build": "ember build",
"lint:js": "eslint ./*.js addon addon-test-support app config lib server test-support tests",
"release": "release-it",
"start": "ember serve",
"test": "mocha && ember test",
"test:precook": "node node_modules/ember-cli-addon-tests/scripts/precook-node-modules.js"
Expand Down Expand Up @@ -70,16 +71,34 @@
"loader.js": "^4.7.0",
"mocha": "^5.2.0",
"qunit-dom": "^0.8.0",
"release-it": "^12.0.1",
"release-it-lerna-changelog": "^1.0.2",
"request": "^2.88.0",
"rsvp": "^4.8.3"
},
"engines": {
"node": "6.* || 8.* || >= 10.*"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/"
},
"ember-addon": {
"configPath": "tests/dummy/config",
"before": [
"broccoli-serve-files"
]
},
"release-it": {
"plugins": {
"release-it-lerna-changelog": {
"infile": "CHANGELOG.md"
}
},
"git": {
"tagName": "v${version}"
},
"github": {
"release": true
}
}
}