123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- Release checklist:
- release=0.13
- git clone https://github.com/json-c/json-c json-c-${release}
- cd json-c-${release}
- Check that the compile works on Linux
- Check that the compile works on NetBSD
- Check that the compile works on Windows
- Run "make distcheck" and fix any problems
- (e.g. adding new files to SOURCES variables in Makefile.am)
- Check ChangeLog to see if anything should be added.
- Make any fixes/changes *before* branching.
- git branch json-c-${release}
- git checkout json-c-${release}
- ------------
- Update the version in json_c_version.h
- Update the version in Doxyfile
- Update the version in configure.ac
- Update the version in CMakeLists.txt
- Use ${release}.
- Update the libjson_la_LDFLAGS line in Makefile.am to the new version.
- Generally, unless we're doing a major release, change:
- -version-info x:y:z
- to
- -version-info x:y+1:z
- ------------
- Generate the configure script and other files:
- sh autogen.sh
- git add -f Makefile.in aclocal.m4 config.guess config.h.in \
- config.sub configure depcomp install-sh \
- ltmain.sh missing tests/Makefile.in \
- INSTALL
- # check for anything else to be added:
- git status --ignored
- git commit
- ------------
- Generate the doxygen documentation:
- doxygen
- git add -f doc
- git commit doc
- ------------
- cd ..
- echo .git > excludes
- echo autom4te.cache >> excludes
- tar -czf json-c-${release}.tar.gz -X excludes json-c-${release}
- echo doc >> excludes
- tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release}
- ------------
- Tag the branch:
- cd json-c-${release}
- git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}"
- git push origin json-c-${release}
- git push --tags
- ------------
- Go to Amazon S3 service at:
- https://console.aws.amazon.com/s3/
- Upload the two tarballs in the json-c_releases folder.
- When uploading, use "Reduced Redundancy", and make the uploaded files publicly accessible.
- Logout of Amazon S3, and verify that the files are visible.
- https://s3.amazonaws.com/json-c_releases/releases/index.html
- ===================================
- Post-release checklist:
- git checkout master
- Add new section to ChangeLog
- Update the version in json_c_version.h
- Update the version in Doxyfile
- Update the version in configure.ac
- Update the version in CMakeLists.txt
- Use ${release}.99 to indicate a version "newer" than anything on the branch.
- Leave the libjson_la_LDFLAGS line in Makefile.am alone.
- For more details see:
- http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
- ------------
- Update the gh-pages branch with new docs:
- cd json-c-${release}
- git checkout json-c-${release}
- cd ..
- git clone -b gh-pages https://github.com/json-c/json-c json-c-pages
- cd json-c-pages
- mkdir json-c-${release}
- cp -R ../json-c-${release}/doc json-c-${release}/.
- cp ../json-c-${release}/README-WIN32.html json-c-${release}/.
- git add json-c-${release}
- git commit
- vi index.html
- Add/change links to current release.
- git commit index.html
- git push
- ------------
- Update checksums on wiki page.
- cd ..
- openssl sha -sha256 json-c*gz
- openssl md5 json-c*gz
- Copy and paste this output into the wiki page at:
- https://github.com/json-c/json-c/wiki
- ------------
- Send an email to the mailing list.
|