Admin/Release/CHECKLIST
author wenzelm
Sun, 15 Oct 2023 13:48:08 +0200
changeset 78781 847739805b8d
parent 78145 2a28450b992b
child 79059 ae682b2aab03
permissions -rw-r--r--
disable naproche component for now: to be updated before the next Isabelle release;

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 "#!/usr/bin/env isabelle_scala_script";

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

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

- 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 Linux + Apple ARM + Windows build_host
  Admin/build_release -D ~/tmp/isadist -b HOL -R Isabelle2023 -j2 -l

  #with access Linux ARM build_host
  Admin/build_release -D ~/tmp/isadist -b HOL -R Isabelle2023 -p linux_arm

- Docker image:

  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2023 Isabelle2023_linux.tar.gz
  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2023_X11_Latex -P X11 -P latex Isabelle2023_linux.tar.gz

  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2023_ARM Isabelle2023_linux_arm.tar.gz
  isabelle docker_build -o Dockerfile -E -t makarius/isabelle:Isabelle2023_ARM_X11_Latex -P X11 -P latex Isabelle2023_linux_arm.tar.gz

  docker login

  docker push makarius/isabelle:Isabelle2023

  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