Release ParaView 5.10.0
Preparatory steps
- Update ParaView guides
- User manual
-
Rename to ParaViewGuide-5.10.0.pdf -
Upload to www.paraview.org/files/v5.10
-
- Catalyst Guide
-
Rename to ParaViewCatalystGuide-5.10.0.pdf -
Upload to www.paraview.org/files/v5.10
-
- Getting Started Guide
-
Rename to ParaViewGettingStarted-5.10.0.pdf -
Upload to www.paraview.org/files/v5.10
-
- User manual
Update ParaView
-
Update the local copy of
release
.- Otherwise, update
release
git fetch origin git checkout release git merge --ff-only origin/release # if this fails, there are local commits that need to be removed git submodule update --recursive --init
- If
release
is notmaster
, ensure merge requests which should be in the release have been merged. Thebackport-mrs.py
script can be used to find and ensure that merge requests assigned to the associated milestone are available on therelease
branch.
- Otherwise, update
-
Integrate changes.
-
Make a commit for each of these
release
-only changes on a single topic (suggested branch name:update-to-v5.10.0
):- Assemble release notes into
Documentation/release/ParaView-5.10.0.md
. -
Update version.txt
and tag the commit (tag this commit below)git checkout -b update-to-v5.10.0 af5a2d82e9 echo 5.10.0 > version.txt git commit -m 'Update version number to 5.10.0' version.txt
-
Update VTK's paraview/release
branch. Therelease-mr
script should be used to do this. Pass-c .kitware-release-paraview.json
to use the appropriate configuration file.-
Merge the VTK paraview/release
update MR -
Update kwrobot with the newparaview/release
branch rules (@ben.boeckel)
-
-
.gitmodules
to track theparaview/release
branch of VTK -
Update .gitlab/ci/cdash-groups.json
to track therelease
CDash groups
- Assemble release notes into
-
Create a merge request targeting
release
-
Obtain a GitLab API token for the kwrobot.release.paraview
user (ask @ben.boeckel if you do not have one) -
Add the kwrobot.release.paraview
user to your fork with at leastDeveloper
privileges (so it can open MRs) -
Use the release-mr
script to open the create the Merge Request (see script for usage)- Pull the script for each release; it may have been updated since it was last used
- The script outputs the information it will be using to create the merge request. Please verify that it is all correct before creating the merge request. See usage at the top of the script to provide information that is either missing or incorrect (e.g., if its data extraction heuristics fail).
-
-
Get positive review -
Do: merge
-
Create tag: git tag -a -m '5.10.0' v5.10.0 @BRANCHPOINT@
-
-
Create tarballs
-
ParaView ( Utilities/Maintenance/create_tarballs.bash --txz --tgz --zip -v v5.10.0
)
-
-
Upload tarballs to
paraview.org
-
rsync -rptv $tarballs user@host:ParaView_Release/v5.10/
-
Update ParaView-Superbuild
-
Update release branch for paraview-superbuild
git fetch origin
git checkout release
git merge --ff-only origin/release
git submodule update --recursive --init
git checkout -b update-to-v5.10.0
- Integrate changes.
- Update versions
-
Guide selections in versions.cmake
-
paraview_SOURCE_SELECTION
version inREADME.md
-
Docker: update default tag strings (in Scripts/docker/ubuntu/development/Dockerfile
)-
ARG PARAVIEW_TAG=v5.10.0 -
ARG SUPERBUILD_TAG=v5.10.0 -
ARG PARAVIEW_VERSION_STRING=paraview-5.10
-
-
Commit changes -
git add versions.cmake CMakeLists.txt Scripts/docker/ubuntu/development/Dockerfile
-
git commit -m "Update the default version to 5.10.0"
-
-
Created tag: git tag -a -m 'ParaView superbuild 5.10.0' v5.10.0 HEAD
- Force
5.10.0
in CMakeLists.txt-
Append to the top of CMakeLists.txt (After project...) The following # Force source selection setting here. set(paraview_SOURCE_SELECTION "5.10.0" CACHE STRING "Force version to 5.10.0" FORCE) set(paraview_FROM_SOURCE_DIR OFF CACHE BOOL "Force source dir off" FORCE)
-
Create fixup commit git commit -a --fixup=@
-
-
- Update versions
- Make a commit for each of these
release
-only changes-
Update.gitlab/ci/cdash-groups.json
to track therelease
CDash groups (ifrelease
ismaster
)
-
- Create a merge request targeting
release
-
Obtain a GitLab API token for the kwrobot.release.paraview
user (ask @ben.boeckel if you do not have one) -
Add the kwrobot.release.paraview
user to your fork with at leastDeveloper
privileges (so it can open MRs) -
Use the release-mr
script to open the create the Merge Request (see script for usage)- Pull the script for each release; it may have been updated since it was last used
-
-
Build binaries -
Build binaries (start all pipelines) -
Download the binaries that have been generated from the Pipeline build products. They will be deleted within 24 hours.
-
-
Get positive review -
Remove fixup commit: git reset --hard @^
-
Force push git push -f gitlab
-
Do: merge
- Software process updates (these can all be done independently)
-
Update kwrobot with the newrelease
branch rules (@ben.boeckel) -
Run this script to update the CDash groups- This must be done after a nightly run to ensure all builds are in the
release
group - See the script itself for usage documentation
- This must be done after a nightly run to ensure all builds are in the
-
Add (or update ifrelease
isrelease
) version selection entry in paraview-superbuild
-
Sign macOS binaries
-
Upload to signing server, run script, download resulting .pkg and .dmg files -
Install from .pkg and verify that it is signed with codesign -dvvv /Applications/ParaView-5.10.0.app/
-
Install from .dmg and verify that it is signed with codesign -dvvv /Applications/ParaView-5.10.0.app/
Validating binaries
For each binary, open the Python shell and run the following:
import numpy
s = Show(Sphere())
ColorBy(s, ('POINTS', 'Normals', 'X'))
Show(Text(Text="$A^2$"))
Check that
- Getting started guide opens
- Examples load and match thumbnails in dialog
- Python. Open the Python shell and run
- Plugins are present and load properly
- OSPRay raycasting and pathtracing runs
- OptiX pathtracing runs
- IndeX runs
- AutoMPI
Binary checklist
-
macOS arm64 @sebastien.jourdain -
macOS x86_64 -
Linux -
Linux osmesa -
Windows MPI (.exe) -
Windows MPI (.zip) -
Windows no-MPI (.exe) -
Windows no-MPI (.zip)
Upload binaries
-
Upload binaries to paraview.org
(rsync -rptv $binaries paraview.release:ParaView_Release/v5.10/
) -
Ask @utkarsh.ayachit to regenerate https://www.paraview.org/files/listing.txt
andmd5sum.txt
on the website
buildListing.sh
updateMD5sum.sh v5.10
-
Test download links on https://www.paraview.org/download
Push tags
-
In the paraview
repository, rungit push origin v5.10.0
. -
In the paraview-superbuild
repository, rungit push origin v5.10.0
.
Spack
-
Update Spack package: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/paraview/package.py
Update documentation
-
Submit a Merge Request that updates the version to 5.10.0 in https://gitlab.kitware.com/paraview/paraview-docs/-/blob/master/doc/source/conf.py for
paraview-docs` -
Upload versioned documentation to https://github.com/kitware/paraview-docs
(seehttps://github.com/Kitware/paraview-docs/blob/master/README.md
) -
Tag the ParaView docs with v5.10.0. -
Activate the tag on readthedocs and build it here -
Go to readthedocs.org and activate -
Write and publish blog post with release notes. -
Update release notes (https://www.paraview.org/Wiki/ParaView_Release_Notes)
Post-release
-
Post an announcement in the Announcements category on discourse.paraview.org. -
Request DoD vulnerability scan -
Request update of version number in "Download Latest Release" text on www.paraview.org -
Request update of link to ParaView Guide PDF at https://www.paraview.org/paraview-guide/ -
Move unclosed issues to next release milestone in GitLab
/cc @ben.boeckel
/cc @cory.quammen
/cc @utkarsh.ayachit
/cc @charles.gueunet