Release ParaView 5.12.0-RC3
Preparatory steps
- macOS signing machine
-
Check that the macOS signing machine is reachable. If not, request it to be switched on.
-
Update ParaView
-
Update the local copy of
release
.- If
0-RC3
is0-RC1
, updatemaster
- 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.
- If
-
Integrate changes.
- Make a commit for each of these
release
changes on a single topic (suggested branch name:update-to-v5.12.0
):-
Assemble release notes into Documentation/release/ParaView-5.12.0.md
. -
Update version.txt
and tag the commit (tag this commit below)git checkout -b update-to-v5.12.0-RC3 release echo 5.12.0-RC3 > version.txt git commit -m 'Update version number to 5.12.0-RC3' version.txt
-
- Make a commit for each of these
release
-only changes-
Merge the VTK paraview/release
update MR -
Update kwrobot with the new paraview/release
branch rules (@ben.boeckel) -
.gitmodules
to track theparaview/release
branch of VTK -
Update .gitlab/ci/cdash-groups.json
to track therelease
CDash groups
-
- 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 -
Add your development fork as a remote named gitlab
-
release-mr.py -t TOKEN_STRING -c .kitware-release.json -m release
-
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).
-
-
-
Run the test with Do: test
and get a green dashboard. -
Remove fixup commit: git reset --hard @^
-
Get positive review -
Do: merge
-
Create tag: git tag -a -m '5.12.0-RC3' v5.12.0-RC3 commit-that-updated-version.txt
- Make a commit for each of these
-
Create tarballs
-
ParaView ( Utilities/Maintenance/create_tarballs.bash --txz --tgz --zip -v v5.12.0-RC3
)
-
-
Upload tarballs to
paraview.org
-
Setup your ~/.ssh/config
and add the web host (@vbolea). -
rsync -rptv $tarballs web:ParaView_Release/v5.12/
-
-
Software process updates (these can all be done independently)
-
Update kwrobot with the new release
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 if release
isrelease
) version selection entry in paraview-superbuild
-
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
-
Create new branch git checkout -b update-to-v5.12.0-RC3 release
-
Integrate changes.
- Update versions
-
Guide selections in versions.cmake
and ensure that the paraview http URL source is the DEFAULT source. -
paraview_SOURCE_SELECTION
version inREADME.md
-
PARAVIEW_VERSION_DEFAULT
in CMakeLists.txt -
Docker: update default tag strings (in Scripts/docker/ubuntu/development/Dockerfile
)-
ARG PARAVIEW_TAG=v5.12.0-RC3 -
ARG SUPERBUILD_TAG=v5.12.0-RC3 -
ARG PARAVIEW_VERSION_STRING=paraview-5.12
-
-
Commit changes -
git add README.md versions.cmake CMakeLists.txt Scripts/docker/ubuntu/development/Dockerfile
-
git commit -m "Update the default version to 5.12.0-RC3"
-
-
- 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 commit which will be tagged: -
git commit --allow-empty -m "paraview: add release 5.12.0"
-
Create tag: git tag -a -m 'ParaView superbuild 5.12.0-RC3' v5.12.0-RC3 HEAD
-
-
Force 5.12.0-RC3
in CMakeLists.txt-
Append to the top of CMakeLists.txt (After project...) The following # Force source selection setting here. set(paraview_SOURCE_SELECTION "5.12.0-RC3" CACHE STRING "Force version to 5.12.0-RC3" FORCE) set(paraview_FROM_SOURCE_DIR OFF CACHE BOOL "Force source dir off" FORCE)
-
-
Create fixup commit with the above changes git commit -a --fixup=@
. The fixup commit will prevent merging of the temporary code above; it will be removed in a future step. -
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 -
release-mr.py -t TOKEN_STRING -c .kitware-release.json -m release
-
- Update versions
-
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.
-
-
Remove fixup commit: git reset --hard @^
-
Get positive review -
Force push git push -f gitlab
-
Do: merge
-
Software process updates (these can all be done independently)
-
Update kwrobot with the new release
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 if release
isrelease
) version selection entry in paraview-superbuild
-
Sign Windows binaries
-
Request Windows binary signings (only .exe archives) on the Package Signing repo. Example request here.
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.12.0-RC3.app/
-
Install from .dmg and verify that it is signed with codesign -dvvv /Applications/ParaView-5.12.0-RC3.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
- Help lists Readers, Writers, Filters, and Sources properly
- Examples load and match thumbnails in dialog
- Plugins are present and load properly
- OSPRay raycasting and pathtracing runs ("Enable Ray Tracing" property in View panel)
- OptiX pathtracing runs (not macOS)
- ref. !22372 for current expected results
- IndeX runs (load pvNVIDIAIndeX plugin, add a Wavelet dataset, change representaiton to NVIDIA IndeX)
Binary checklist
-
macOS arm64 -
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.12/
) -
Ask @cory.quammen to regenerate https://www.paraview.org/files/listing.txt
andmd5sum.txt
on the website from within the directory corresponding to www.paraview.org/files/
buildListing.sh
updateMD5sum.sh v5.12
-
Test download links on https://www.paraview.org/download
Push tags
-
In the paraview
repository, rungit push origin v5.12.0-RC3
. -
In the paraview-superbuild
repository, rungit push origin v5.12.0-RC3
.
Spack
-
Update Spack package: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/paraview/package.py
Post-release
-
Post an announcement in the Announcements category on discourse.paraview.org. -
Request DoD vulnerability scan -
Request an XRInterface plugin validation using TESTING.md protocol from KEU
/cc @ben.boeckel
/cc @cory.quammen
/cc @charles.gueunet
/cc @mwestphal
Edited by Ryan Krattiger