Admin/Release/CHECKLIST
author wenzelm
Fri, 26 Apr 2024 13:25:44 +0200
changeset 80150 96f60533ec1d
parent 80088 5afbf04418ec
permissions -rw-r--r--
update Windows test machines;

Checklist for official releases
===============================

- check latest updates of polyml, jdk, scala, jedit;

- check isabelle.Dotnet_Setup.default_version:
    $ isabelle dotnet_setup -n -v -V "" | grep invocation

- check Admin/components;

- Admin/components/bundled: update naproche;

- test "isabelle dump -b Pure ZF";

- test "isabelle build -o export_theory -f ZF";

- test "isabelle server" according to "system" manual;

- test Isabelle/VSCode;

- test Isabelle/jEdit: print buffer

- test Isabelle/jEdit: deactivate main plugin;

- test "isabelle java_monitor -P pid" with "isabelle jedit";

- test "isabelle build HOL-Codegenerator_Test" with -new-syntax
  (see also etc/settings:ISABELLE_SCALAC_OPTIONS);

- test Windows Subsystem for Linux (e.g. on Windows Server 2022);

- 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'

- check ANNOUNCE, README, NEWS, COPYRIGHT, CONTRIBUTORS;

- check versions:
    src/Tools/jEdit/jedit_base/plugin.props
    src/Tools/jEdit/jedit_main/plugin.props
    src/Tools/VSCode/extension/package.json

- check funny base directory, e.g. "Test 中国";

- diff NEWS wrt. last official release, which is read-only;

- update https://isabelle.sketis.net/repos/isabelle-website

- check doc/Contents, $JEDIT_HOME/doc/Contents;

- test old HD display: Linux, Windows, macOS;

- macOS: check recent MacTeX;

- Windows: check recent MiKTeX;

- Phabricator:
    . src/Doc/System/Phabricator.thy: check/update underlying Ubuntu version
    . etc/options: check/update phabricator_version entries;


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
=========

- regular packaging:

  #on fast Linux machine, with access to build_host for each platform
  Admin/build_release -D ~/tmp/isadist -b HOL -R Isabelle2024 -j2 -l

- Docker image:

  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2024 Isabelle2024_linux.tar.gz
  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2024_X11_Latex -P X11 -P latex Isabelle2024_linux.tar.gz

  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2024_ARM Isabelle2024_linux_arm.tar.gz
  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2024_ARM_X11_Latex -P X11 -P latex Isabelle2024_linux_arm.tar.gz

  docker login

  docker push makarius/isabelle:Isabelle2024

  docker tag ... latest
  docker push makarius/isabelle:latest

  https://hub.docker.com/r/makarius/isabelle
  https://docs.docker.com/engine/reference/commandline/push


Post-release
============

- update .hgtags

- update Admin/Release/official

- update /p/home/isabelle and /p/home/isabelle/html-data