Skip to content

Latest commit

 

History

History
35 lines (33 loc) · 2.05 KB

Release-Guide.md

File metadata and controls

35 lines (33 loc) · 2.05 KB

Release guide for kRPC

This document details the steps necessary to make a release of kRPC.

  1. The repository should be clean from changes, and run a bazel clean.
  2. Bump the kRPC version number in config.bzl and commit the file. Make an annotated tag for the new version (using `git tag -a vx.x.x)
  3. Run tools/build-against-all-versions.sh to check that the mod at least builds against all supported versions of the KSP API
  4. Build kRPC and run all of the tests locally to check that they pass using bazel build //... && bazel test //:test
  5. Push the vx.x.x commit and tag to the master branch on GitHub. Wait for Travis CI to complete running of the tests.
  6. Run tools/dist/genfiles.sh to build the genfiles archive to include in the release.
  7. Run tools/update-docs.sh push to build and push updates to the documentation website.
  8. Do the release on Github:
    1. Use tools/dist/changes.py github to get changelog to include with the release
    2. Upload the release archive, krpctools, genfiles and all clients (9 files in total)
    3. Upload TestServer release archive
    4. Get the C++ client Windows builds (both win32 and win64) from the Travis build outputs and upload to the github release.
  9. Do a release on Curse
  10. Do a release on SpaceDock
  11. Bump the version number on KSP AVC
  12. Release all the clients and tools to their various platforms:
    1. Upload the Python client to pypi using twine
    2. Upload krpctools to pypi using twine
    3. Release C# client on nuget
    4. Run tools/update-arduino-library.sh push to update Arduino library repository and then run tools/update-arduino-library.sh release to push a new version of Arduino library.
    5. Upload Lua client to s3://krpc/lua/... and release the rockspec file on luarocks.org
    6. Build and push docker image for TestServer using the makefile in tools/TestServer/docker
  13. Post release details to various forums etc:
    1. Update release and dev thread on forums, and post an update notice to the release thread
    2. Post on Discord
    3. Post on Reddit