diff --git a/documentation/Makefile b/documentation/Makefile index 69285bec8..059474016 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -13,8 +13,6 @@ DOXYGEN ?= doxygen include $(TOP)/documentation/Makefile.headers -HTMLS += ReleaseChecklist.html - HEADER_MD_FILES = $(foreach t, $(HEADER_TYPES), \ $(addsuffix _h.md, $($t_HEADERS))) API_RST_FILES = $(addsuffix -api.rst, $(HEADER_TYPES)) @@ -23,6 +21,7 @@ RTD_SRC = $(COMMON_DIR)/rtd-src DOCS += README.md DOCS += ca-cli.md +DOCS += ReleaseChecklist.md OLD_NOTES = $(wildcard ../RELEASE-*.md) DOCS += $(OLD_NOTES:../%=%) diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html deleted file mode 100644 index 19273a30f..000000000 --- a/documentation/ReleaseChecklist.html +++ /dev/null @@ -1,492 +0,0 @@ - - - -
- -This document describes the procedures and provides a checklist of tasks -that should be performed when creating production releases of EPICS Base.
- -We used to have one written down here, but we weren't following it very -closely so now the decision to make a new release is taken during the Core -Developers bi-weekly meetings in an informal manner. The steps detailed below -were written to remind Andrew (or anyone else who does the release) about -everything that has to be done since it's so easy to miss steps.
- -The following roles are used below:
- -| Who | +Description | +|
|---|---|---|
| Preparing for a release | +||
| Release Manager | +Notify core developers about the upcoming release and ask about any +remaining tasks that must be finished. | +|
| All developers | +Check the bug tracker for any outstanding items and handle +appropriately. | +|
| Release Manager | +Set a Feature Freeze date, by which time all Git branches for +enhancements and new functionality should have been merged. After this +date, commits and merges should only be made to fix problems that show +up during testing. | +|
| Release Manager +& all developers |
+Request that documentation be updated and information about new
+features be added before the release date:
+
|
+|
| Release Manager | +Review and update this checklist for the upcoming release. Update +the release version number in the tags and messages below. | +|
| Testing | +||
| Platform Developers | +Run the internal test programs on all appropriate platforms. | +|
| Platform Developers | +Check that all makeBaseApp templates build and run properly, all
+xxxApp and xxxBoot types and any internal options,
+e.g. setting STATIC_BUILD=YES or using a different
+INSTALL_LOCATION in configure/CONFIG_SITE. |
+|
| Release Manager | +Check that documentation has been updated:
+
|
+|
| Release Approval | +||
| Core Developers | +Reach a consensus that the software is ready to release. | +|
| Creating the final release version | +||
| Release Manager | +For each external +submodule to be tagged+
|
+|
| Release Manager | +After all submodules +have been updated:+
|
+|
| Release Manager | +In the main epics-base +repository+
|
+|
| Release Manager | +Tag the epics-base module in Git:
+++ Don't push to GitHub yet. |
+|
| Release Manager | +After tagging the release+Edit the main EPICS Base version file and the built-in module version +files: +
Version numbers should be set for the next expected patch/maintenance
+release by incrementing the MAINTENANCE_VERSION or PATCH_LEVEL value in
+each file. Set all Set up the headings in the Release Notes for the next release version +number and restore the warning about this being an unreleased version of +EPICS. +Commit these changes (don't push). |
+|
| Release Manager | +Export the tagged version into a tarfile. The
+make-tar.sh script generates a gzipped tarfile directly
+from the tag, excluding the files and directories that are only used for
+continuous integration:
+++Create a GPG signature file of the tarfile as follows: + + |
+|
| Release Manager | +Test the tar file by extracting its contents and building it on at
+least one supported platform. If this succeeds the commits and new git
+tag can be pushed to the GitHub repository's 7.0 branch (assumed to be
+the upstream remote):
+
+ |
+|
| Publish to epics.anl.gov | +||
| Website Editor | +Copy the tarfile and its signature to the Base download area of the +website. | +|
| Website Editor | +Add the new release tar file to the website Base download index +page. | +|
| Website Editor | +Create or update the website subdirectory that holds the release +documentation, and copy in the files to be published with this release +version. | +|
| Website Editor | +Update the webpage for the new release with links to the release +documents and tar file. | +|
| Website Editor | +Link to the release webpage from other relevant areas of the website +- update front page and sidebars. | +|
| Website Editor | +Add an entry to the website News page, linking to the new version +webpage. | +|
| Publish to epics-controls.org | +||
| Website Editor | +Upload the tar file and its .asc signature file to the
+epics-controls web-server.
++ |
+|
| Website Editor | +Follow instructions on + +Add a page for a new release +to create a new release webpage (not +required for a patch release, just edit the existing page). Update the +TablePress "Point Releases" table and add the new download, and adjust +the Html Snippet for the series download. +Not covered in those instructions: Go to Posts, find a previous +release and use "Duplicate Post", then edit the result and publish it. +This generates the News item. |
+|
| Publish to GitHub | +||
| Release Manager | +Go to the GitHub
+
+Create
+release from tag R7.0.10 page. Upload the tar file and its
+.asc signature file to the new GitHub release page, or just
+drag-n-drop them into the page. Copy/paste the text from the previous
+release and edit. Submit. |
+|
| Release Manager | +We used to close out bug reports in Launchpad at release-time, this +would be the time to do that if we have an equivalent on GitHub. | +|
| Make Announcement | +||
| Release Manager | +Announce the release on the tech-talk mailing list. | +|