Admin/Release/CHECKLIST
author wenzelm
Sat, 27 Mar 2021 15:56:49 +0100
changeset 73478 1be70e3de751
parent 73299 43ce3b8a25ee
child 73519 8f485a199874
permissions -rw-r--r--
record official releases that follow a certain structure, with public access via https://isabelle.sketis.net/repos/isabelle/raw-file/tip/Admin/Release/official (NB: Isabelle2013-1 had to be retracted);

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

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

- check Admin/components;

- 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 "#!/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'

- 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 中国";

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

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

- check doc/Contents, src/Tools/jEdit/dist/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
=========

- macOS: provide "gnutar" executable via shell PATH
  (e.g. copy of /usr/bin/gnutar from Mountain Lion)

- fully-automated packaging (e.g. on lxcisa0):

  hg up -r DISTNAME && Admin/build_release -b HOL -l -O -R DISTNAME /home/isabelle/dist

- Docker image:

  isabelle build_docker -o Dockerfile -E -t makarius/isabelle:Isabelle2021 Isabelle2021_linux.tar.gz

  docker login

  docker push makarius/isabelle:Isabelle2021

  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 Admin/Release/official

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