Release v1.8.0
Update VTK-m
-
Update release
branch for vtk-m and create update branch
git fetch origin
git checkout release
git merge --ff-only origin/release
git submodule update --recursive --init
Create update branch
-
Create update branch git checkout -b update-to-v1.8.0
-
Craft or update changelog docs/changelog/1.8.0/release-notes.md
file. -
Create release notes commit.
git add docs/changelog/1.8.0/release-notes.md
git rm docs/changelog/*.md
git commit -m 'Add release notes for 1.8.0'
-
Update the version (not in patch releases) and date in the LICENSE.md file git add LICENSE.md
. -
Create update version commit:
echo 1.8.0 > version.txt
# Create commit with the following template
# Nth is counted by the number of final release tags
git commit -m '1.8.0 is our Nth official release of VTK-m.
The major changes to VTK-m from (previous release) can be found in:
docs/changelog/1.8.0/release-notes.md' version.txt
-
git tag -a -m 'VTKm 1.8.0' v1.8.0 HEAD
- Integrate changes to
release
branch-
Create a MR using the release-mr script (see notes). -
Get +1 -
Do: merge
-
- Push tags
-
git push origin v1.8.0
-
Update Spack
-
Update Spack package: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/vtk-m/package.py
Post-release
-
Copy the contents of docs/changelog/1.8.0/release-notes.md to the GitLab release. -
Tag new version of the VTK-m User Guide. -
Post an Email Announcements VTK-m mailing list.
Annex
Generate change log
Construct a docs/changelog/1.8.0/
folder.
Construct a docs/changelog/1.8.0/release-notes.md
file
Use the following template for release-notes.md
:
VTK-m N Release Notes
=======================
# Table of Contents
1. [Core](#Core)
- Core change 1
2. [ArrayHandle](#ArrayHandle)
3. [Control Environment](#Control-Environment)
4. [Execution Environment](#Execution-Environment)
5. [Worklets and Filters](#Worklets-and-Filters)
6. [Build](#Build)
7. [Other](#Other)
# Core
## Core change 1 ##
changes in core 1
# ArrayHandle
# Control Enviornment
# Execution Environment
# Execution Environment
# Worklets and Filters
# Build
# Other
For each individual file in docs/changelog
move them
to the relevant release-notes
section.
- Make sure each title and entry in the table of contents use full vtkm names
vtkm::cont::Field
instead of Field. - Make sure each title and entry DOESN'T have a period at the end.
- Make sure any sub-heading as part of the changelog is transformed from
##
to###
. - Entries for
Core
are reserved for large changes that significantly improve VTK-m users life, or are major breaking changes.
Notes about update-mr
update-mr
script has the following requirements to work:
- It needs a token to for authentication (reach @ben.boeckel for this)
- It needs
kwrobot.release.vtkm
to have developer perms in your vtk-m repo.
Lastly, update-mr
can be used multiple times with different commit in the same
branch.
Email Announcements
Announce the new VTK-m release on the mailing list. You will need to compute the number of merge requests, changelog entries, and maybe # of authors.
Example to compute the number of unique committers
git log --format="%an" v1.4.0..v1.5.0 | sort -u | wc -l
Example to compute the number of merge requests
git log v1.4.0..v1.5.0 | grep 'Merge | wc -l
A standard template to use is:
Hi All,
VTK-m 1.5.0 is now released, and a special thanks to everyone that has
contributed to VTK-m since our last release. The 1.5.0 release contains
over 100000 merge requests, and 100000 entries to the changelog .
Below are all the entries in the changelog, with more details at (
https://gitlab.kitware.com/vtk/vtk-m/-/tags/v1.8.0) or in the vtkm
repository at `docs/1.8.0/release-notes.md`
1. Core
- Core change 1
2. ArrayHandle
3. Control Environment
4. Execution Environment
5. Worklets and Filters
6. Build
7. Other
/cc @ben.boeckel
/cc @vbolea