Skip to content

Commit

Permalink
chore(Build Tools): Automated release process
Browse files Browse the repository at this point in the history
  • Loading branch information
ndickerson authored Jan 26, 2018
1 parent 92e5371 commit 82f8d3f
Show file tree
Hide file tree
Showing 9 changed files with 5,037 additions and 28 deletions.
16 changes: 15 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ jdk:
- oraclejdk8

env:
- NODE_VERSION="5.12.0"
- NODE_VERSION="9.4.0"

cache:
directories:
Expand All @@ -26,3 +26,17 @@ after_success:
notifications:
slack:
secure: f1OJnqs2/JBo/rmxan7ta9SXjXEagAU6PQjj92nJ7Bccbk50EHdHuTWh3kcGAsOAjL/JG4KDu3vk0bpLvEJf4/+obIo9nrPWyYZidKhkU79bOB7xU+Ca73sFy2VHDrqL9bDrBdO+iGmjdKaKKU6mc0HKzozBvuY8x5P0lQYuvhWRBjeCInnPAHB7hilszEz5m9/HxrmKDn38zXCO6oTFevoU5t5I5jtREiqDjkSdCTrWw1VnrymuvyCey8T0UWLhbmOWPp+xMl6nyPSPqMhISfe1SX0i1kZghSmumdV7Sg5wlEWoAVB4DtNXYHmFsgC8N/kTjqw1HsWKSPg2JnbIDOMofUZ97/OvnYg1kGAoUGl1SjiUww9qvFo2okqqK4dsJeMYuEmnawbRKkNRlqZTWVW24qAIBJWAoanszGTsiZGYOFTaRFDKBbG3vhWrlma2+lxmH3kiqTEkFB4pvfZOLQ+VEpmcTxuNGWA+WtshQ4CU0ietH3RXMe96GVj4rmMo9VlIflzJp5EsguSjSepaeUOV0PkrVLm/Kyc3oEPPOdoMgvs2m4ATFDYHM64F17y+giDOj/i3MqsJrWHmWEs6/HU7xsjNsmZiKoCtSUIXi+PDSr9PbFVRQWsYf7OByocu6kcgNFF1F6B/52tpr6ICrlJ13YqKfEQxRaX3V2voB1I=

before_deploy:
- mvn clean package
- mvn assembly:single

deploy:
provider: releases
api_key:
secure: x3EMIpn9nZ20wcuyiwekl+ALgSEwIaMeJjlkWqFe7Wq0WknjfA8lwVDE+D7FYWtl0xU5a1wmYuAULQtKGusDYEDl7lULUXdKuhvHzsLalHoyj98Uo2ccNjjglZVBW72ujtnWF2MOEEkH6cFspi00lfan9xWJpRBZhdvXbl9dI3wrw5N9EfU+KuHeo/5TPULtyYDHLch+RnCo2/Kz2pBaqukafXgnPCxGQLoZ9tt+dlOUJnJL03lXnat61N8lG+4yCFI+x6e8HYlj1yGtVbEc6zPaomOuGAngDC+w2PfU43jWKN5cIDwDoKP+4f2IAGar435jaIXtQqG8xcd/oVXoAe7jvKXlCu2auRFf+hePj522+4GokLF4/P/zQX+fiy4nkvO7OzzlAnqITbKlJz53HMdIbpfk61eSgycUXkDRMoU9bM91QqlJRizqi39wJlAUGKg/QEpXweJzE1ZIvUNSlYOPC9pMMtLTaRmYTZ7cLHvikWdADyQ7wTjRd2rOL58LtnMn2UiFl7lkuESX25BY2hIWvIDkuJqcs4xKcyx9WIqmtgZjsf2o3OhgIBflMw1JFZQHUUIXC4h5v3GNd4xTQRJp2qNFzS11YjYI1cxbtsUcTrO3SIf5XlwnPH6gd7hnasqOy3A1NHvw8dmEUseCo0rr0AZdXCRMkh47qp7DyBU=
file: target/dataloader.zip
on:
repo: bullhorn/dataloader
branch: master
tags: true
Empty file added CHANGELOG.md
Empty file.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ There are multiple ways to contribute to Bullhorn DataLoader:
1. Install Prerequisites
* [Apache Maven 3.0](https://maven.apache.org/)
* [Java SDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
* [Node.js](https://nodejs.org/en/)

2. Clone the repo:

Expand Down
41 changes: 18 additions & 23 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,37 @@
##### DataLoader Developer Documentation

## How to Create a Release
### Standard Commit Messages on Master

DataLoader provides a release binary which allows end users to use DataLoader without having to build from source using the JDK. We use the Maven Assembly plugin to package the DataLoader jar file along with the directory structure, README.md, LICENSE, and other supporting files into `target/dataloader.zip`.
Commits to master use the [Conventional Commits Specification](https://conventionalcommits.org/). Admins select the _Squash and Merge_ option when merging in Pull Requests and rename the commit to follow the format: _type_(_scope_): _description_.

1. Create release branch: `release/vX.Y.Z`

1. Remove the `-SNAPSHOT` from the pom.xml `<version>X.Y.Z-SNAPSHOT</version>` tag

2. Create release package
__Examples:__

1. Start with a clean checkout of the release branch

1. Remove any local uncommitted changes to files

2. Remove any local changes to the dataloader.properties file

3. Remove all local files from the log and data folders

2. Run package command: `mvn clean package`
`feat(Candidate): Added field 'xyz'`

3. Run assembly command: `mvn assembly:single` to generate the release zip file: `target/dataloader.zip`
`fix(To-Many Associations): fixed xyz`

3. Test the new release package by stepping through the Quick Start Guide on both Windows and Mac/Linux
`chore(cleanup): cleaned up xyz`

4. Merge the release branch
`chore(release): X.Y.Z`

5. Create the wiki zipfile which includes PDFs of the wiki pages
### Creating a Release

[standard-version](https://www.npmjs.com/package/standard-version) is used to calculate the version number, update the `package.json` version,
generate the `CHANGELOG.md` file, generate a GitHub release, and push tags to Master, which allows TravisCI to generate the build artifacts and upload them to a GitHub release.

1. Checkout master

2. Run release script: `npm run release`

3. Create the wiki zipfile which includes PDFs of the wiki pages

1. Clone the wiki repo: `git clone https://github.com/bullhorn/dataloader.wiki.git`

2. Download conversion utilities: `npm install`

3. Create the wiki.zip file: `npm start`

6. Create release in GitHub
4. Create release in GitHub

1. From the [Releases Page](https://github.com/bullhorn/dataloader/releases) click [Draft a New Release](https://github.com/bullhorn/dataloader/releases/new).

Expand All @@ -43,5 +40,3 @@ DataLoader provides a release binary which allows end users to use DataLoader wi
3. In the Attach Binaries section of the release page, attach the release package file: `target/dataloader.zip`

4. In the Attach Binaries section of the release page, attach the wiki package file: `wiki.zip`

7. Make a new commit to master to bump the version and add `-SNAPSHOT` to the pom.xml version
Loading

0 comments on commit 82f8d3f

Please sign in to comment.