-
Notifications
You must be signed in to change notification settings - Fork 123
Release
These are instructions on the various steps necessary to cut out a new release of the Splunk SDK for Java. 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.
- If you've added any new examples, update the build.xml file
- Run test suite on full test matrix.
- Install
random_numbers.spl
(found indist/
after runningant dist
on the repository) on Linux (32-bit and 64-bit), MacOS X (64-bit), and Windows (32-bit and 64-bit), for all supported versions of Splunk in the test matrix, create a new random_numbers input, and check that it generates events by running the search "*" with time range "Real time (all time)". - 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.
- Do not remove gh-pages or any branch that isn't related to the develop branch.
-
Create release branch off of develop (
release/1.3.2
).git checkout develop
git pull
git checkout -b release/1.3.2
-
Update the version number:
- Update the
version.number
property in thebuild.xml
file in the root directory. - Update the
User-Agent
field of theHttpService
class. - Update README.md
-
Update the line
declare -r version="??"
indeploy
. -
Update the version everywhere in
deploy.md
.
- Update the
-
Make sure the version number change didn't break anything:
- Have Jenkins run the
release/1.3.2
branch on its test matrix. - Run the SDK examples.
- Have Jenkins run the
-
Build a new JAR and ZIP of the SDK:
- Make sure the JAR is built with JDK 6.
- Make sure the files reflect the current version (for example,
splunk-sdk-java-1.3.2.zip
,splunk-1.3.2.jar
). - Commit the change to the
release/1.3.2
branch. - Send the JAR and ZIP files to your Docs team.
-
Merge to
master
locally. Ensure the commit message is "Release 1.3.2".git checkout master
git merge --no-ff -m "Release 1.3.2" release/1.3.2
git commit
-
Tag the above commit as
1.3.2
.git tag 1.3.2
-
Push the
master
and the1.3.2
tag to GitHub.git push origin master
git push --tags
-
Delete the release branch:
git push origin :release/1.3.2
git branch -d release/1.3.2
-
Sanity check that released version works (clone SDK afresh, build, and run an example).
git clone git@github.com:splunk/splunk-sdk-java.git
cd splunk-sdk-java
git checkout master
ant dist
java -jar dist/examples/pivot.jar
-
Deploy to ArtifactoryOnline
- Install Apache Maven 3.
- On Linux download apache-maven-3.1.0-bin.tar.gz, untar to /opt, and add /opt/apache-maven-3.1.0/bin to your path.
- On OS X with MacPorts installed
sudo port install maven3
- On Windows download apache-maven-3.1.0-bin.zip, unzip to %PROGRAMFILES%, and add %PROGRAMFILES%\apache-maven-3.1.0\bin to your path.
- Create or update your maven configuration.
./deploy production
- Verify the contents of http://splunk.artifactoryonline.com/splunk/libs-releases/com/splunk/splunk/. See deploy.md for guidance.
- Install Apache Maven 3.
-
Work with Docs team to:
- Post ZIP and JAR files.
- 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 the API Reference (docs.splunk.com/Documentation/SDK).
- Create both MD5 and SHA-512 hashes from final ZIP download. Docs will contact the Web team to upload these files.
-
Verify the posted JAR:
- Download the JAR and make sure the checksum matches the original file.
-
Hand off to marketing to announce. See next section.
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)