Skip to content

Latest commit

 

History

History
47 lines (44 loc) · 1.89 KB

release_checklist.md

File metadata and controls

47 lines (44 loc) · 1.89 KB

Checklist for building Jsonnet releases

Are jsonnet & go-jsonnet in sync?

  1. Check out master from both
  2. Check go-jsonnet/cpp-jsonnet submodule is HEAD of jsonnet tree, if not:
  3. Inside cpp-jsonnet:
  4. git checkout master
  5. git pull
  6. cd ..
  7. git checkout -b release
  8. git commit -a -m 'update cpp-jsonnet'
  9. ./tests.sh # Have to commit before running this, or it resets the submodule

Is HEAD ready?

  1. Checkout master
  2. make test
  3. bazel test ...:all
  4. mkdir build ; cd build ; cmake .. ; make ; make test
  5. modify include/libjsonnet.h to bump the version number but add -pre1
find test_cmd -name '*.cpp' -o -name '*.golang' -o -name '*.stdout' -o -name '*.stderr' -o -name 'stdout' -o -name 'stderr' | \
  xargs sed -i 's/ v0[.][0-9.]*/ NEW_VERSION_GOES_HERE/g'
  1. Check if any changes to the documentation are necessary by checking commits since previous release (especially stdlib additions).
  2. In stdlib documentation replace any "Available in upcoming release." with "Available since NEW_VERSION_GOES_HERE".
  3. python setup.py build sdist
  4. twine upload dist/whatever.tar.gz (Needs credentials on pypi)
  5. ON ANOTHER MACHINE AND CHECK THAT THE VERSION IS CORRECT AND IT ACTUALLY IS BUILDING THINGS IN THE LOG: sudo pip install jsonnet --pre --upgrade
  6. python
  7. import _jsonnet
  8. _jsonnet.evaluate_snippet('foo', '1+1')
  9. Checkout go-jsonnet master
  10. update cpp-jsonnet commit
  11. ./tests

Do release

  1. Remove -pre from version in include/libjsonnet.h
  2. Update version in CMakeLists.txt
  3. Update test_cmd golden file version numbers
  4. run test again!
  5. commit and push
  6. Make release in github, write release notes by checking commits since previous release
  7. python setup.py build sdist
  8. twine upload dist/whatever.tar.gz (the version without the -pre)
  9. Post to Jsonnet Google Group
  10. Update the live version of the website