Skip to content

Release process memo

Laurent Pugin edited this page Sep 29, 2022 · 13 revisions

Merge develop into master

Update some files

Files to correct:

  • CHANGELOG.md - add release date
  • Verovio.podspec - update the version
  • bindings/iOS/all.h - recompile from xcode to make sure all headers are up-to-date
  • bindings/java/pom.xml - update version
  • codemeta.json - update version and date
  • emscripten/npm/package.json - update version
  • include/vrvdef.h - update version

Commit and build

Commit the master branch and push to the verovio repository.

Build Verovio from xcode in order to generate the release commit value via the git_commit.h script.

Build the JavaScript toolkit locally

From the ./emscripten directory, run (with the appropriate VERSION):

version="VERSION"
./buildToolkit -c -H -M -v $version
./buildToolkit -c -H -l -M -v $version
./buildToolkit -c -w -M -v $version
./buildToolkit -c -H -w -M -v $version

Copy the files to the verovio.org repository in:

  • ./javascript/VERSION/
  • ./javascript/latest

Update gh-pages

Update test-suite loaders and comparison page in:

  • _includes/test-version.html (defaultOptions and loadExample)
  • comparison.xhtml
  • add previous book pdf version to book-archive (not for patch releases)

Commit and push to verovio.org repository.

Create the release on GH

Copy the changelog and add the *.zip files

Truncate history of verovio.org

Find the previous but one sha, then do

sha=xxxxx git checkout --orphan temp $sha git commit -m "Truncate history to version " git rebase --onto temp $sha gh-pages

Check with git status Do git push -f

Publish NPM

npm publish in ./emscripten/npm

Publish PyPi builds

The ARTIFACT number should be retrieved from https://github.com/rism-digital/verovio/actions/runs/id

artifact="ARTIFACT"
python3 get-pypi-artifacts.py $artifact
cd $artifact-wheels
twine upload *

Update verovio-doxygen:release

Merge verovio-doxygen:develop into verovio-doxygen:release

Tag LibMEI repo

Tag verovio-libmei:develop with the release version

Merge verovio-libmei:develop into verovio-libmei:master

Update book

Merge develop into master.

Change version in _config.yml.

Regenerate the content and push to the verovio-reference-book repository.

# install verovio with
python3 -m pip install verovio
# update options, methods, and mei-support with
python3 scripts/generate-methods.py release  
python3 scripts/generate-options.py
python3 scripts/generate-mei-support.py release
# uninstall verovio with
python3 -m pip uninstall verovio

Delete previous development versions in https://test.pypi.org/manage/project/verovio/releases/

Start next development

Files to correct:

  • CHANGELOG.md - add release date
  • Verovio.podspec - upcoming version
  • bindings/java/pom.xml - upcoming version
  • codemeta.json - upcoming version and date
  • include/vrvdef.h - upcoming version
  • bindings/python/.pypi-version

Update branches

develop-tab
develop-mensural
develop-pypi
Clone this wiki locally