-
Notifications
You must be signed in to change notification settings - Fork 93
Release
Shakeel Mohamed edited this page Mar 27, 2017
·
54 revisions
These are instructions on the various steps necessary to cut out a new release of the Splunk SDK for JavaScript. Even though the instructions are public, these steps are only meant to be taken by the SDK maintainers.
- Read through all of these release instructions.
- Update if necessary. (For example, the version numbers will need updating.)
- For updates that could apply to other SDKs as well, update the release instructions page for every other SDK.
- Update changelog.
- Regenerate compiled files for running tests and exmaples.
-
./sdkdo compile(Use node 0.10.x)
-
- Run test suite on full test matrix.
- Run all examples.
- Run all dev.splunk.com code samples.
- Remove old temporary branches. This includes feature branches, old release branches, and most branches that have been merged to develop.
- (Exception: The "promises-old" branch in the Splunk SDK for JavaScript should be retained for the time being.)
- Other branches that SHOULD NOT be deleted are:
gh-pages(for Github pages), andfeature/various_fixes.
- Create release branch off of develop (
release/1.8.2).git checkout developgit pullgit checkout -b release/1.8.2
- Update the version number:
- Set
versionkey inpackage.jsonto1.8.2. (This needs to be a 3-component string.) - Set the version number at the top and in the installation instructions the
readme.md. - Set the
SDK_UA_STRINGvariable in thegithub_commitsexample on line 29
- Set
- Regenerate compiled files and check into repository.
-
./sdkdo compile(Use node 0.10.x) - Commit changes.
-
- Make sure the version number change didn't break anything:
- Install the SDK in a clean VM.
- Run test suite locally.
- Wait for Travis CI to run tests against the
release/1.8.2branch. - Run the SDK examples.
- Make sure the docs compile properly (and that they contain everything you want)
./sdkdo docs
- Merge to
masterlocally. Ensure the commit message is "Release 1.8.2".git checkout mastergit merge --no-ff -m "Release 1.8.2" release/1.8.2
- Tag the above commit as
1.8.2. (This needs to be a 3-component string.)git tag 1.8.2
- Push the
masterand the1.8.2tag to GitHub.git push origin mastergit push --tags
- Upload the SDK to NPM repository:
-
npm adduser- Credentials are here: https://confluence.splunk.com/display/PROD/JavaScript+SDK+Release
npm publish
-
- Delete the release branch:
git push origin :release/1.8.2git branch -d release/1.8.2
- Sanity check that released version works:
- Run examples locally.
- Create a ZIP of the SDK and send it to your Docs team:
- Make sure the file reflects the current version (for example,
splunk-sdk-javascript-1.8.2.zip). - Download the ZIP from the GitHub releases page.
- Make sure the file reflects the current version (for example,
- Work with Docs team to:
- Post ZIP file.
- Update Readme. For point releases, the version number needs to be updated at a minimum.
- Update Changelog, includes a list of changes for the current version.
- Update Dev Portal and push. For point releases, the "What's new" page and download links need to be updated at the very least.
- Publish API Reference.
- Create both MD5 and SHA-512 hashes from final ZIP download. Docs will contact the Web team to upload these files.
- Hand off to marketing to announce. See next section.
- Make an internal pull request with the updated compiled splunk.js and splunk.min.js to core. Follow these steps on the internal Confluence
Hurrah, the new release is basically done! You can now announce it on the following channels:
- Twitter (@splunkdev, maybe @splunk)
- Google Groups (splunkdev)
- Dev Portal (http://dev.splunk.com)
- Dev Blog (http://blogs.splunk.com/dev)