Checklist for official releases
===============================
- check latest updates of polyml, jdk, scala, jedit;
- check Admin/components;
- test "isabelle dump -l Pure ZF";
- test "isabelle -o export_theory -f ZF";
- test "isabelle server" according to "system" manual;
- test Isabelle/VSCode;
- test Isabelle/jEdit: print buffer
- test "#!/usr/bin/env isabelle_scala_script";
- test Windows 10 subsystem for Linux:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
- check (non-)executable files:
$ find . "(" -name "*.thy" -o -name "*.ML" -o -name "*.scala" -o -name ROOT ")" -executable
$ find -type f -executable
- check sources:
isabelle check_sources '~~' '$AFP_BASE'
isabelle imports -M -a -d '~~/src/Benchmarks'
- check ANNOUNCE, README, NEWS, COPYRIGHT, CONTRIBUTORS;
- check versions:
src/Tools/jEdit/src/Isabelle.props
src/Tools/jEdit/src-base/Isabelle_Base.props
- check Isabelle version:
src/Tools/VSCode/extension/README.md
src/Tools/VSCode/extension/package.json
- check funny base directory, e.g. "Test 中国";
- check scalable fonts, e.g. src/Doc/Prog_Prove
(NOTE: T1 encoding requires cm-super fonts);
- diff NEWS wrt. last official release, which is read-only;
- update https://bitbucket.org/isabelle_project/isabelle-website
- check doc/Contents, src/Tools/jEdit/dist/doc/Contents;
- check Logics:
ROOTS
lib/html/library_index_content.template
- HTML library: check HTML header;
- HTML library: check theory dependencies (PDF);
- check "Handler catches all exceptions"
- Mac OS X: check app bundle with Retina display;
- Mac OS X: check recent MacTeX;
- Windows: check dpi scaling with high-definition display;
- Windows: check recent MiKTeX;
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
=========
- Mac OS X: provide "gnutar" executable via shell PATH
(e.g. copy of /usr/bin/gnutar from Mountain Lion)
- fully-automated packaging (e.g. on lxbroy10):
hg up -r DISTNAME && Admin/build_release -M macbroy30 -O -l -R DISTNAME /home/isabelle/dist
- Docker image:
isabelle build_docker -o Dockerfile -E -t makarius/isabelle:Isabelle2018 Isabelle2018_app.tar.gz
https://hub.docker.com/r/makarius/isabelle
https://docs.docker.com/docker-cloud/builds/push-images
Final release stage
===================
- various .hg/hgrc files:
default = http://bitbucket.org/isabelle_project/isabelle-release
default = ssh://hg@bitbucket.org/isabelle_project/isabelle-release
Post-release
============
- update /home/isabelle and /home/isabelle/html-data