You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

RELEASE_CHECKLIST.txt 3.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. Release checklist:
  2. release=0.14
  3. git clone https://github.com/json-c/json-c json-c-${release}
  4. cd json-c-${release}
  5. Check that the compile works on Linux
  6. Check that the compile works on NetBSD
  7. Check that the compile works on Windows
  8. Run "make distcheck" and fix any problems
  9. (e.g. adding new files to SOURCES variables in Makefile.am)
  10. Check ChangeLog to see if anything should be added.
  11. Make any fixes/changes *before* branching.
  12. git branch json-c-${release}
  13. git checkout json-c-${release}
  14. ------------
  15. Update the version in json_c_version.h
  16. Update the version in Doxyfile
  17. Update the version in configure.ac
  18. Update the version in CMakeLists.txt
  19. Update the version in config.h.win32
  20. Use ${release}.
  21. Update the libjson_la_LDFLAGS line in Makefile.am to the new version.
  22. Generally, unless we're doing a major release, change:
  23. -version-info x:y:z
  24. to
  25. -version-info x:y+1:z
  26. ------------
  27. Generate the configure script and other files:
  28. sh autogen.sh
  29. git add -f Makefile.in aclocal.m4 config.guess config.h.in \
  30. config.sub configure depcomp install-sh \
  31. ltmain.sh missing tests/Makefile.in \
  32. INSTALL compile test-driver
  33. # check for anything else to be added:
  34. git status --ignored
  35. git commit
  36. ------------
  37. Generate the doxygen documentation:
  38. doxygen
  39. git add -f doc
  40. git commit doc
  41. ------------
  42. cd ..
  43. echo .git > excludes
  44. echo autom4te.cache >> excludes
  45. tar -czf json-c-${release}.tar.gz -X excludes json-c-${release}
  46. echo doc >> excludes
  47. tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release}
  48. ------------
  49. Tag the branch:
  50. cd json-c-${release}
  51. git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}"
  52. git push origin json-c-${release}
  53. git push --tags
  54. ------------
  55. Go to Amazon S3 service at:
  56. https://console.aws.amazon.com/s3/
  57. Upload the two tarballs in the json-c_releases folder.
  58. When uploading, use "Reduced Redundancy", and make the uploaded files publicly accessible.
  59. Logout of Amazon S3, and verify that the files are visible.
  60. https://s3.amazonaws.com/json-c_releases/releases/index.html
  61. ===================================
  62. Post-release checklist:
  63. git checkout master
  64. Add new section to ChangeLog
  65. Update the version in json_c_version.h
  66. Update the version in Doxyfile
  67. Update the version in configure.ac
  68. Update the version in CMakeLists.txt
  69. Update the version in config.h.win32
  70. Use ${release}.99 to indicate a version "newer" than anything on the branch.
  71. Update the libjson_la_LDFLAGS line in Makefile.am to match the release branch.
  72. For more details see:
  73. http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
  74. ------------
  75. Update the gh-pages branch with new docs:
  76. cd json-c-${release}
  77. git checkout json-c-${release}
  78. cd ..
  79. git clone -b gh-pages https://github.com/json-c/json-c json-c-pages
  80. cd json-c-pages
  81. mkdir json-c-${release}
  82. cp -R ../json-c-${release}/doc json-c-${release}/.
  83. git add json-c-${release}
  84. git commit
  85. vi index.html
  86. Add/change links to current release.
  87. git commit index.html
  88. git push
  89. ------------
  90. Update checksums on wiki page.
  91. cd ..
  92. openssl sha -sha256 json-c*gz
  93. openssl md5 json-c*gz
  94. Copy and paste this output into the wiki page at:
  95. https://github.com/json-c/json-c/wiki
  96. ------------
  97. Send an email to the mailing list.