Skip to content

Release

Shakeel Mohamed edited this page Mar 27, 2017 · 54 revisions

Splunk SDK for JavaScript Release Instructions

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.

Prerequisites

  • 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), and feature/various_fixes.

Release Steps

  • 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 in package.json to 1.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 the github_commits example on line 29
  • 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 the 1.8.2 tag to GitHub.
    • git push origin master
    • git push --tags
  • Upload the SDK to NPM repository:
  • 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.
  • 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

Announce!

Hurrah, the new release is basically done! You can now announce it on the following channels:

Clone this wiki locally