Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

Release

Tim edited this page Jun 14, 2018 · 24 revisions

Splunk SDK for C# PCL Release Instructions

These are instructions on the various steps necessary to cut out a new release of the Splunk SDK for C# PCL. 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 the version numbers in this document to the verison you're about to release.
    • Update any steps if necessary.
    • For updates that could apply to other SDKs as well, update the release instructions page for every other SDK.
  • Update changelog.
  • 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.

Release Steps

  • Install the code contracts extension for Visual Studio, run a rebuild, and make sure there aren't any code contracts related errors.
  • Check the myget development feed, update the package number there, run another build manually. Go to the packages section and make sure both packages have the updated number (ie: both packages were built successfully).
  • Manually test the nuget packages from myget in Visual Studio 2013 and 2015 by adding the myget feed as a nuget package source and running a simple test program using the SDK.
  • Remove old temporary branches. This includes feature branches, old release branches, and most branches that have been merged to develop.
  • Optional: Create a release branch off of develop. This avoids problems if anyone else is merging code into develop while you are trying to release.
    • If using this strategy, follow the branching steps from the other Splunk SDKs.
  • Update the CHANGELOG.
  • Update the version number wherever it appears in the SDK. The known places are:
    • README.md
    • CHANGELOG.md
    • Properties->Assembly Information for all projects under '1. src'
    • Rebuild the solution to make the version number changes in code
    • Update the user agent version in Context.cs
  • Run the test suite on the full test matrix locally.
  • Let AppVeyor CI run the full test matrix (push all changes made so far).
  • Run all the examples.
  • Merge develop to master
    • git checkout master
    • git pull
    • git merge --no-ff -m "Release 2.2.8" develop
  • Tag the commit as 2.2.8
    • git tag 2.2.8
  • Push everything to GitHub
    • git push origin master
    • git push --tags
  • Delete any temporary branches
    • Make sure to keep master and develop
  • Merge back from master into develop to capture the version changes and CHANGELOG updates
  • Tell MyGet to rebuild the package, credentials are available on the internal Confluence
  • Push from MyGet to NuGet
  • Create a zip file and MD5 and SHA-512 hashes for the docs team
    • curl 'https://codeload.github.com/splunk/splunk-sdk-csharp-pcl/zip/master' > splunk_sdk_csharp_pcl-2.2.8.zip
    • md5 splunk_sdk_csharp_pcl-2.2.8.zip > splunk_sdk_csharp_pcl-2.2.8.zip.md5
    • shasum -a 512 splunk_sdk_csharp_pcl-2.2.8.zip > splunk_sdk_csharp_pcl-2.2.8.zip.sha512
    • Generate & email files to the docs team to stage for posting to the website
      • Open the project file in Sandcastle docs/Splunk.Client/Splunk.Client.shfbproj
      • Click build
      • zip the docs/Splunk.Client/Help/html/ directory
      • do the previous 3 steps for the docs/Splunk.ModularInputs/Splunk.ModularInputs.shfbproj project and zipping the docs/Splunk.ModularInputs/Help/html/
      • Send both zipped files to the docs team
Clone this wiki locally