-
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 develop
git pull
git checkout -b release/1.8.2
- Update the version number:
- Set
version
key inpackage.json
to1.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_STRING
variable in thegithub_commits
example 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.2
branch. - Run the SDK examples.
- Make sure the docs compile properly (and that they contain everything you want)
./sdkdo docs
- Merge to
master
locally. Ensure the commit message is "Release 1.8.2".git checkout master
git 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
master
and the1.8.2
tag to GitHub.git push origin master
git 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.2
git 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)