The "make" commands and filenames below are run in/relative to the
documentation directory.
1. Between releases, EPICS_DEV_SNAPSHOT != "":
"make" generates $(COMMON_DIR)/RELEASE_NOTES.md from new-notes/*.md
and installs it and all the older RELEASE-<ver>.md files into the
$(INSTALL_DOC) directory.
"make release" or "make unrelease" fail with an error message:
"make release" not available, EPICS_DEV_SNAPSHOT not empty
2. Creating a release, so EPICS_DEV_SNAPSHOT == "":
"make" installs all existing RELEASE-<ver>.md files into $(INSTALL_DOC).
3. Creating a release, EPICS_DEV_SNAPSHOT == "", no file exists named
RELEASE-<ver>.md:
"make release" generates RELEASE-<ver>.md from new-notes/*.md and does
"git add" of that; runs "git rm" of new-notes/*.md;
generates $(COMMON_DIR)/RELEASE_NOTES.md with a different introduction;
Installs all RELEASE*.md files into $(INSTALL_DOC).
4. EPICS_DEV_SNAPSHOT == "", RELEASE-<ver>.md exists and was added to
the Git index:
"make unrelease" here undoes the changes the "make release" command
applied to the Git index and restores the deleted new-notes files.
Running "make release" twice in a row could mess up the first generated
RELEASE-<ver>.md file if any new-notes/*.md files were added or the
make-notes.pl script modified between the two, but to recover just
running "make unrelease" and then "make release" again.
4. EPICS_DEV_SNAPSHOT == "", RELEASE-<ver>.md was added to Git but the
file has since been deleted:
"make unrelease" here will also recover the state and restore any deleted
new-notes/*.md files.
5. EPICS_DEV_SNAPSHOT == "", RELEASE-<ver>.md exists but was not added to
the Git index:
"make release" or "make unrelease" fail with an error message:
"make release" not available, RELEASE-<ver>.md exists but isn't in Git
Includes instructions on how to generate a new Release-<ver>.md
file at the right time during the release process – it won't work
properly if done earlier.
Remove To Do list (which didn't get discussed).
Add stuff about submodule versions and pushing tags.
List invididual module version number files to be updated at
final release time.
The tarfile should not include any files that were added to
support our development process and CI build agents. I have
even excluded .gitignore from previous releases.
I had already done this in 3.16, and 7.0 has a script for
generating the tarfile.
Incomplete, needs instructions on updating and tagging submodules,
maybe other things too.
This uses version number 7.1.1 instead of 7.0.1, which was deliberate.