Checklist for official releases
===============================
- check latest polyml, smlnj, jdk, scala, jedit;
- check Admin/components;
- test polyml-5.4.1, polyml-5.4.0, polyml-5.3.0, smlnj;
- test Isabelle/jEdit on single-core;
- test Isabelle/jEdit on airy device;
- test 'display_drafts' command;
- test "#!/usr/bin/env isabelle_scala_script";
- check sources:
isabelle java isabelle.Check_Source '~~' '$AFP_BASE'
- run isabelle update_keywords;
- check ANNOUNCE, README, NEWS, COPYRIGHT, CONTRIBUTORS;
- check funny base directory, e.g. "Test 中国";
- check scalable fonts, e.g. src/Doc/Prog_Prove (NOTE: T1 encoding
requires cm-super fonts, which are usually available on MacTeX or
Cygwin, but not on Ubuntu/Debian);
- diff NEWS wrt. last official release, which is read-only;
- update https://bitbucket.org/isabelle_project/isabelle-website
- maintain doc/Contents;
- maintain Logics:
ROOTS
lib/html/library_index_content.template
- check HTML header of library;
- test separate compilation of Isabelle/Scala PIDE sources:
Admin/build jars_test
- test Isabelle/jEdit:
print buffer
- test contrib components:
x86_64-linux without 32bit C/C++ libraries
- check "Handler catches all exceptions", using
PolyML.Compiler.reportExhaustiveHandlers := true;
- Mac OS X: check app bundle with Retina display;
- Windows: check dpi scaling with high-definition display;
Repository fork
===============
- isabelle: finalize NEWS / CONTRIBUTORS -- proper headers for named release;
- isabelle-release: hg tag;
- isabelle: back to post-release mode -- after fork point;
Packaging
=========
- fully-automated packaging (requires Mac OS X with gnutar, avoid Mavericks):
hg up -r DISTNAME && Admin/Release/build -O -l -r DISTNAME /home/isabelle/dist
Final release stage
===================
- various .hg/hgrc files:
default = http://bitbucket.org/isabelle_project/isabelle-release
default = ssh://hg@bitbucket.org/isabelle_project/isabelle-release
- isatest@macbroy28:hg-isabelle/.hg/hgrc
- isatest@macbroy28:devel-page/content/index.content
Post-release
============
- update /home/isabelle and /home/isabelle/html-data