Skip to content

Release Process

Elsa Gonsiorowski, PhD edited this page Mar 7, 2019 · 17 revisions

There are a number of steps to creating a new release. Including updating the documentation, tagging a release on GitHub (complete with release notes), and updating distributed packaging systems.

Release Process

  1. Verify the experimental status of all tools. Any tool which should be moved out of experimental status can follow the Experimental Tools release process.
  2. Update the documentation
    1. The version number must be updated in doc/src/conf.py and mpifileutils.spec.
    2. The man pages must be regenerated, moved to man/, and committed back to the repo.
  3. Tag the release on GitHub. Details on writing release notes can be found below.
  4. Update the spack package
  5. Push the new version to TCE

Release Notes Format

The release notes should be grouped by libmfu, then tool (alphabetically), and finally bug fixes.

Sample release notes from version 0.9:

We’ve officially converted to CMake! Instructions for building are here: https://mpifileutils.readthedocs.io/en/v0.9/build.html

New Features:

  • dcmp: include nanoseconds when comparing timestamps
  • dcmp: new --lite option to compare files based on file type, file size, and modification time rather than file content
  • drm: new --aggressive option to delete files while walking
  • dsync: default behavior no longer deletes files at the destination, deleting now requires new --delete option
  • dsync: optionally copies in batches with --batch-files option as form of self-checkpointing long running dsync jobs
  • drm: fix segfault when deleting a large number of files
  • libmfu: avoid problematic MPI I/O external32 for more consistent file format
  • libmfu: support for GPFS ACLs

New Tools:

  • dfind: filters file list based on different criteria
  • dreln: update symlinks whose targets use absolute paths, useful after dsync
Clone this wiki locally