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