- Check out master from both
- Check go-jsonnet/cpp-jsonnet submodule is HEAD of jsonnet tree, if not:
- Inside cpp-jsonnet:
git checkout master
git pull
cd ..
git checkout -b release
git commit -a -m 'update cpp-jsonnet'
./tests.sh
# Have to commit before running this, or it resets the submodule
- Checkout master
make test
bazel test ...:all
mkdir build ; cd build ; cmake .. ; make ; make test
- 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'
- Check if any changes to the documentation are necessary by checking commits since previous release (especially stdlib additions).
- In stdlib documentation replace any "Available in upcoming release." with "Available since NEW_VERSION_GOES_HERE".
python setup.py build sdist
twine upload dist/whatever.tar.gz
(Needs credentials on pypi)- 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
python
import _jsonnet
_jsonnet.evaluate_snippet('foo', '1+1')
- Checkout go-jsonnet master
- update cpp-jsonnet commit
./tests
- Remove -pre from version in
include/libjsonnet.h
- Update version in
CMakeLists.txt
- Update
test_cmd
golden file version numbers - run test again!
- commit and push
- Make release in github, write release notes by checking commits since previous release
python setup.py build sdist
twine upload dist/whatever.tar.gz
(the version without the -pre)- Post to Jsonnet Google Group
- Update the live version of the website