A manual process that should be automated. Some day ...
Assumes release as in working directory ...
Update Docs
- Update README.md
- Generate documentation -
cd doc && tclsh makedocs.tcl
- Commit
- Tag release
- Push to github
- Push tag to github
- Verify CI builds pass
Run release.cmd to generate Windows binary distribution under dist/cffi-VERSION
.
Alternative, run release-mingw.cmd to generate Windows binaries using MinGW
instead. The binaries will be under dist/mingw/cffi-VERSION.
This will build the binaries for Tcl 8.6 and 9 for both x86 and x64.
Unzip into distribution into each of the 8.6 and 9.0 directories for x86 and x64. Test that the package loads successfully.
One of the following, both from WSL.
From WSL,
CFFIVER=$(egrep AC_INIT configure.ac | egrep -o --color=never '[0-9]\.[0-9][ab.][0-9]')
/mnt/c/bin/git-archive-all.sh --tree-ish v$CFFIVER --prefix cffi$CFFIVER/ --format tar --verbose /tmp/cffi$CFFIVER-src.tar
cd /tmp
tar xf /tmp/cffi$CFFIVER-src.tar
gzip cffi$CFFIVER-src.tar
zip -r -q cffi$CFFIVER-src.zip cffi$CFFIVER
NOTE: only use tar format above. Directly specifying zip or tgz creates separate submodule archives.
cd /tmp
git clone --recurse-submodules [email protected]:apnadkarni/tcl-cffi.git cffi-u
cd cffi-u
CFFIVER=$(egrep AC_INIT configure.ac | egrep -o --color=never '[0-9]\.[0-9][ab.][0-9]')
git archive --prefix cffi$CFFIVER-src/ v$CFFIVER | (cd /tmp ; tar xf -)
cd ./tclh
git archive --prefix cffi$CFFIVER-src/tclh/ HEAD | (cd /tmp ; tar xf -)
cd /tmp
tar -czf cffi$CFFIVER-src.tgz cffi$CFFIVER-src
zip -r cffi$CFFIVER-src.zip cffi$CFFIVER-src
Extract the archives somewhere and ensure it builds.
Upload documentation.