Skip to content

Commit e6eda75

Browse files
committed
DOC: Release process updates with ITK 5.4.0
Archive tarballs on the NumFOCUS GDrive ITKReleases folder. data.kitware.com throws bad gateway errors and Kitware said that data.kitware.com is no longer supported and data should migrate off it. Sign the source tarballs per OSSF Scorecard best practices: https://github.com/ossf/scorecard/blob/49c0eed3a423f00c872b5c3c9f1bbca9e8aae799/docs/checks.md#signed-releases Doxygen is now mostly automated via GitHub Actions and ReadTheDocs.
1 parent a6399e5 commit e6eda75

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)