Blame RELEASE_CHECKLIST.txt

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