2011-06-14 10:01:27 -05:00
|
|
|
|
|
|
|
|
Release checklist:
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Figure out whether a release is worthwhile to do.
|
|
|
|
|
Analyze the previous release branch to see if anything should have beeni
|
|
|
|
|
applied to master.
|
|
|
|
|
Analyze APIs between previous release branch and master to produce list of
|
|
|
|
|
changes (added/removed/updated funcs, etc...), and detect backwards compat
|
|
|
|
|
issues.
|
|
|
|
|
If the new release is not backwards compatible, then this is a MAJOR release.
|
|
|
|
|
Collect changes and assemble tentative release notes.
|
|
|
|
|
Identify previous release branch point
|
|
|
|
|
Check commit logs between previous branch point and now
|
|
|
|
|
Create a new issues_closed_for_X.Y.md file
|
|
|
|
|
|
|
|
|
|
Update ChangeLog with relevant notes before branching.
|
2011-06-14 10:01:27 -05:00
|
|
|
|
|
|
|
|
Check that the compile works on Linux
|
2012-04-29 12:54:04 -05:00
|
|
|
Check that the compile works on NetBSD
|
2011-06-14 10:01:27 -05:00
|
|
|
Check that the compile works on Windows
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Start creating the new release:
|
|
|
|
|
release=0.14
|
|
|
|
|
git clone https://github.com/json-c/json-c json-c-${release}
|
2011-06-14 10:01:27 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
mkdir distcheck
|
|
|
|
|
cd distcheck
|
|
|
|
|
# Note, the build directory *must* be entirely separate from
|
|
|
|
|
# the source tree for distcheck to work properly.
|
|
|
|
|
cmake ../json-c-${release}
|
|
|
|
|
make distcheck
|
|
|
|
|
cd ..
|
2013-04-02 21:21:38 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Make any fixes/changes *before* branching.
|
2013-04-02 21:21:38 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
cd json-c-${release}
|
|
|
|
|
git branch json-c-${release}
|
|
|
|
|
git checkout json-c-${release}
|
2013-04-02 21:21:38 -05:00
|
|
|
|
|
|
|
|
------------
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Using ${release}:
|
|
|
|
|
Update the version in json_c_version.h
|
|
|
|
|
Update the version in Doxyfile (PROJECT_NUMBER)
|
|
|
|
|
Update the version in CMakeLists.txt (VERSION in the project(...) line)
|
|
|
|
|
Update the version in config.h.win32 (several places)
|
2012-04-29 12:54:04 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Update the set_target_properties() line in CmakeLists.txt to set the shared
|
|
|
|
|
library version. Generally, unless we're doing a major release, change:
|
|
|
|
|
VERSION x.y.z
|
|
|
|
|
to
|
|
|
|
|
VERSION x.y+1.z
|
|
|
|
|
|
|
|
|
|
git commit -a -m "Bump version to ${release}"
|
2012-04-29 12:54:04 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
------------
|
|
|
|
|
|
2012-04-29 12:54:04 -05:00
|
|
|
Generate the doxygen documentation:
|
2020-04-09 02:15:31 +00:00
|
|
|
|
|
|
|
|
doxygen
|
|
|
|
|
git add -f doc
|
|
|
|
|
git commit doc
|
2011-06-14 10:01:27 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
------------
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Create the release tarballs:
|
2012-04-29 12:54:04 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
cd ..
|
|
|
|
|
echo .git > 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}
|
2012-04-29 12:54:04 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
------------
|
|
|
|
|
|
2012-04-29 12:54:04 -05:00
|
|
|
Tag the branch:
|
2013-04-02 21:21:38 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
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
|
2012-04-29 12:54:04 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
Go to Amazon S3 service at:
|
|
|
|
|
https://console.aws.amazon.com/s3/
|
2011-06-14 10:01:27 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
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
|
2011-06-14 10:01:27 -05:00
|
|
|
|
|
|
|
|
===================================
|
|
|
|
|
|
|
|
|
|
Post-release checklist:
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
git checkout master
|
|
|
|
|
|
|
|
|
|
Add new section to ChangeLog for ${release}+1
|
|
|
|
|
|
|
|
|
|
Use ${release}.99 to indicate a version "newer" than anything on the branch:
|
|
|
|
|
Update the version in json_c_version.h
|
|
|
|
|
Update the version in Doxyfile
|
|
|
|
|
Update the version in CMakeLists.txt
|
|
|
|
|
Update the version in config.h.win32
|
|
|
|
|
|
|
|
|
|
Update RELEASE_CHECKLIST.txt, set release=${release}+1
|
2013-04-02 21:21:38 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
Update the set_target_properties() line in CmakeLists.txt to match the release branch.
|
2011-06-14 10:01:27 -05:00
|
|
|
|
2013-04-02 21:21:38 -05:00
|
|
|
------------
|
|
|
|
|
|
2013-04-02 21:36:28 -05:00
|
|
|
Update the gh-pages branch with new docs:
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
cd json-c-${release}
|
|
|
|
|
git checkout json-c-${release}
|
|
|
|
|
cd ..
|
2013-04-02 21:36:28 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
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}/.
|
|
|
|
|
git add json-c-${release}
|
|
|
|
|
git commit
|
2013-04-02 21:36:28 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
vi index.html
|
|
|
|
|
# Add/change links to current release.
|
2013-04-02 21:36:28 -05:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
git commit index.html
|
2014-04-11 20:06:27 -04:00
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
git push
|
2014-04-11 20:06:27 -04:00
|
|
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
Update checksums on wiki page.
|
|
|
|
|
|
2020-04-09 02:15:31 +00:00
|
|
|
cd ..
|
|
|
|
|
openssl sha -sha256 json-c*gz
|
|
|
|
|
openssl md5 json-c*gz
|
2014-04-11 20:06:27 -04:00
|
|
|
|
|
|
|
|
Copy and paste this output into the wiki page at:
|
|
|
|
|
https://github.com/json-c/json-c/wiki
|
|
|
|
|
|
2013-04-02 21:36:28 -05:00
|
|
|
------------
|
2013-04-02 21:21:38 -05:00
|
|
|
|
|
|
|
|
Send an email to the mailing list.
|