Skip to content

Commit

Permalink
Merge pull request #694 from rwjblue/add-release-setup
Browse files Browse the repository at this point in the history
Add automated release setup.
  • Loading branch information
rwjblue committed May 28, 2019
2 parents 9a8856b + c6e7210 commit 2f18ca8
Show file tree
Hide file tree
Showing 6 changed files with 1,747 additions and 29 deletions.
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

## 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
}
}
}

0 comments on commit 2f18ca8

Please sign in to comment.