Skip to content

Commit dfd4a40

Browse files
authored
Merge pull request InsightSoftwareConsortium#5142 from thewtex/itk-5-4-0-release-updates
DOC: Release process updates with ITK 5.4.0
2 parents 8b816db + e6eda75 commit dfd4a40

File tree

1 file changed

+64
-65
lines changed

1 file changed

+64
-65
lines changed

Documentation/Maintenance/Release.md

Lines changed: 64 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Current Maintainers
99

1010
The current ITK maintainers with a trusted GPG key are:
1111

12-
* Matt McCormick (@thewtex) <matt.mccormick@kitware.com>
12+
* Matt McCormick (@thewtex) <matt@mmmccormick.com>
1313
* Pablo Hernandez-Cerdan <pablo.hernandez.cerdan@outlook.com>
1414
* Brad King (@bradking) <brad.king@kitware.com>
1515
* Jean-Christophe Fillion-Robin (@jcfr) <jchris.fillionr@kitware.com>
@@ -37,8 +37,8 @@ When releasing a new ITK version, the following steps are be taken:
3737
* Tarballs are tested locally.
3838
* Generate Python packages and ITKPythonBuilds.
3939
* Tarballs are posted to [ITK GitHub Releases].
40-
* Tarballs are archived on the [ITK data.kitware.com Releases].
41-
* Tarballs are linked from the ITK [download page].
40+
* Tarballs are archived on the [ITKReleases NumFOCUS GDrive].
41+
* Tarballs are linked from the [ITK Documentation].
4242
* Python packages are uploaded to PyPI
4343
* conda-forge libitk and itk Packages are updated
4444
* Announcement
@@ -75,7 +75,7 @@ When releasing a new ITK version, the following steps are be taken:
7575
* **Updating documentation, guides and websites**.
7676
* **Generate tarballs**
7777
* Tarballs are posted to [ITK GitHub Releases].
78-
* Tarballs are linked from the ITK [download page].
78+
* Tarballs are linked from the [ITK Documentation].
7979
* Announcement
8080

8181
Initial steps
@@ -495,6 +495,14 @@ md5sum ./Insight* > MD5SUMS
495495
sha512sum ./Insight* > SHA512SUMS
496496
```
497497

498+
Sign the source and data tarballs.
499+
500+
```
501+
for ff in Insight*; do gpg --armor --detach-sign $ff; done
502+
```
503+
504+
The `*.asc` files provide a [signed release].
505+
498506
Generate Python Packages
499507
------------------------
500508

@@ -718,26 +726,12 @@ Doxygen HTML pages. Use the files to upload and create:
718726
Prior to the release, new `Remote` modules should be enabled in the Doxygen
719727
build's configuration.
720728

721-
Run CMake in the binary build and enable `BUILD_DOXYGEN`, configure and
722-
generate, then:
723-
724-
```bash
725-
cd Binaries/ITK
726-
make Documentation
727-
cd Utilities
728-
mv old_doxygen_directory DoxygenInsightToolkit-$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION
729-
tar -cf DoxygenInsightToolkit-$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION.tar DoxygenInsightToolkit-$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION
730-
gzip -9 DoxygenInsightToolkit-$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION.tar
731-
```
732-
733-
Historical note: Before ITK 3.8, the documentation used to be generated in a
734-
directory called `Documentation/Doxygen`.
729+
Download the tarballs from the `latest` [ITKDoxygen Release] and rename the files to use
730+
the current version. Create a new [ITKDoxygen Release] with the files on a
731+
`vMAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION` tag.
735732

736-
Unpackage the Doxygen tarball, then upload to the Kitware web server to serve
737-
at "https://itk.org/Doxygen$MAJOR_VERSION$MINOR_VERSION/html/". Contact
738-
Kitware Sys-admin to setup a new rsync target. After the upload is complete,
739-
verify that routing is set up so the path is not clobbered by the website /
740-
blog.
733+
ReadTheDocs will automatically generate a new rendered version based on this
734+
tagged release.
741735

742736
Update the ITK Software Guide
743737
-----------------------------
@@ -817,6 +811,33 @@ gzip -9 ${prefix}.tar
817811
git archive --format=zip -9 --prefix=${prefix}/ --output=${prefix}.zip ${tag}
818812
```
819813

814+
Release Notes Posts
815+
-------------------
816+
817+
To get started with the release notes, first use the download link
818+
cookiecutter to generate [download page](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/docs/download.md) markdown:
819+
820+
```bash
821+
pip install cookiecutter
822+
cookiecutter ~/src/ITK/Utilities/Maintenance/DownloadLinksCookieCutter/
823+
```
824+
825+
Start with the previous GitHub Release markdown content to produce the
826+
release notes.
827+
828+
To generate the changelog by running
829+
830+
```bash
831+
cd ITK
832+
./Utilities/Maintenance/AuthorsChangesSince.py $old_version
833+
```
834+
835+
The log is generated at */tmp/AuthorsChangesSince/Changelog.md*.
836+
837+
The count of recent authors is found in the script output, and a list of new authors
838+
are found at */tmp/AuthorsChangesSince/NewAuthors.txt*.
839+
840+
820841
Upload the release artifacts to GitHub
821842
--------------------------------------
822843

@@ -846,6 +867,10 @@ Upload the release artifacts. These include:
846867
- InsightToolkit-$version.zip
847868
- InsightData-$version.tar.gz
848869
- InsightData-$version.zip
870+
- InsightToolkit-$version.tar.gz.asc
871+
- InsightToolkit-$version.zip.asc
872+
- InsightData-$version.tar.gz.asc
873+
- InsightData-$version.zip.asc
849874
- MD5SUMS
850875
- SHA512SUMS
851876
- InsightDoxygenDocHtml-$version.tar.gz
@@ -864,12 +889,10 @@ pre-release* box.
864889
Click *Update release*.
865890

866891

867-
Upload the release artifacts to data.kitware.com
892+
Upload the release artifacts to GDrive
868893
------------------------------------------------
869894

870-
Backup and archive the release artifacts in the [data.kitware.com ITK
871-
Collection Releases
872-
folder](https://data.kitware.com/#collection/57b5c9e58d777f126827f5a1/folder/5b1ec0378d777f2e622561e9).
895+
Backup and archive the release artifacts in the [ITKReleases NumFOCUS GDrive].
873896

874897
This should include
875898

@@ -888,18 +911,19 @@ a PR.
888911
Update the Website
889912
------------------
890913

891-
The website is managed by Kitware folks. Access is currently granted to the ITK
914+
Update the [download].
915+
916+
Access is currently granted to the ITK
892917
maintainer group.
893918

894919
* Add or modify the `Current Release` entries on the
895-
[download page](https://itk.org/ITK/resources/software.html).
896-
* Update the [documentation page](https://itk.org/ITK/help/documentation.html) with a
897-
link to the Doxygen files for the new release.
898-
* Update the API documentation with a new link. See [PR 3804](https://github.com/InsightSoftwareConsortium/ITK/pull/3804/commits/fb00e5b22ad0e5e838779965bfe7254edaae18d1) for an example change.
920+
[download page]
899921
* Verify that the links work !
900922

901-
Contact Communications at <comm@kitware.com> in order to update the above pages
902-
and to produce a press release.
923+
The itk.org website is managed by Kitware folks. Contact Dženan Zukić <dzenan.zukic@kitware.com>
924+
in order to create a WordPress blog post for the release with the release
925+
notes. This will generate a new entry on the https://itk.org landing page for
926+
the release.
903927

904928
Update Issue Tracker
905929
--------------------
@@ -921,33 +945,6 @@ This means that a number of ITK developers should download the tarballs or do
921945
Git checkouts with the release tag, and build the toolkit in as many
922946
configurations as possible.
923947

924-
Release Notes Posts
925-
-------------------
926-
927-
To get started with the release notes, first use the download link
928-
cookiecutter to generate [Download page](https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/docs/download.md) markdown:
929-
930-
```bash
931-
pip install cookiecutter
932-
cookiecutter ~/src/ITK/Utilities/Maintenance/DownloadLinksCookieCutter/
933-
```
934-
935-
Start with the previous GitHub Release markdown content to produce the
936-
release notes.
937-
938-
To generate the changelog by running
939-
940-
```bash
941-
cd ITK
942-
./Utilities/Maintenance/AuthorsChangesSince.py $old_version
943-
```
944-
945-
The log is generated at */tmp/AuthorsChangesSince/Changelog.md*.
946-
947-
The count of recent authors is found in the script output, and a list of new authors
948-
are found at */tmp/AuthorsChangesSince/NewAuthors.txt*.
949-
950-
951948
Announcements
952949
-------------
953950

@@ -982,11 +979,12 @@ excellent packaging.
982979
[Dashboard]: https://open.cdash.org/index.php?project=Insight
983980
[datalad]: https://www.datalad.org/
984981
[community]: https://discourse.itk.org/
985-
[documentation page]: https://www.itk.org/ITK/help/documentation.html
986-
[download page]: https://itk.org/ITK/resources/software.html
982+
[documentation page]: https://docs.itk.org/
983+
[download page]: https://docs.itk.org/en/latest/download.html
987984
[GitHub]: https://github.com/InsightSoftwareConsortium/ITK
988985
[IPFS]: https://ipfs.tech/
989986
[ipfs-desktop]: https://github.com/ipfs/ipfs-desktop/releases
987+
[ITKDoxygen Release]: https://github.com/InsightSoftwareConsortium/ITKDoxygen/releases
990988
[ITKPythonPackage]: https://itkpythonpackage.readthedocs.io/en/latest/index.html
991989
[ITKTestingData]: https://github.com/InsightSoftwareConsortium/ITKTestingData
992990
[ITK discussion]: https://discourse.itk.org/
@@ -995,11 +993,13 @@ excellent packaging.
995993
[ITK issue tracking]: https://issues.itk.org/
996994
[ITK Software Guide]: https://itk.org/ItkSoftwareGuide.pdf
997995
[ITK wiki]: https://itk.org/Wiki/ITK
998-
[ITK Sphinx examples]: https://itk.org/ITKExamples/
996+
[ITK Sphinx examples]: https://examples.itk.org/
997+
[ITKReleases NumFOCUS GDrive]: https://drive.google.com/drive/folders/1-uE7lKAZN4PT52vJJuDqr6KT656r6Dn_?usp=drive_link
999998
[kubo]: https://github.com/ipfs/kubo
1000999
[pinata]: https://pinata.cloud
10011000
[releases page]: https://itk.org/Wiki/ITK/Releases
10021001
[release schedule]: https://itk.org/Wiki/ITK/Release_Schedule
1002+
[signed release]: https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#signed-releases
10031003
[Software Guide]: https://itk.org/ItkSoftwareGuide.pdf
10041004
[@web3-storage/w3cli]: https://www.npmjs.com/package/@web3-storage/w3cli
10051005
[install the w3cli]: https://web3.storage/docs/w3cli/
@@ -1012,6 +1012,5 @@ excellent packaging.
10121012
[ResearchGate]: https://www.researchgate.net/project/Insight-Toolkit-ITK
10131013
[SourceForge]: https://sourceforge.net/downloads/itk/itk/
10141014
[ITK GitHub Releases]: https://github.com/InsightSoftwareConsortium/ITK/releases
1015-
[ITK data.kitware.com Releases]: https://data.kitware.com/#item/5b22a47f8d777f2e622564d8
10161015
[ITK GitHub Milestones]: https://github.com/InsightSoftwareConsortium/ITK/milestones
10171016
[macos-14 GitHub Action Runner]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md

0 commit comments

Comments
 (0)