Parsoid/Debian

From mediawiki.org

Building a new version of the Debian package[edit]

These steps not only generate a new debian package, but also tag the parsoid and the parsoid/deploy repos with the release tags.

In parsoid repo[edit]

  1. Update HISTORY.md in the parsoid repo and get it merged.
  2. Update version numbers in package.json, npm-shrinkwrap.json and all references in the extension and test code and get that patch merged (this could be done as part of step 1 above as well)
  3. Update git tag with the version number in step #2
  4. Bump version in package.json to '+git' (0.8.0+git if 0.8.0 was the version in step #2) and get it merged

In deploy repo[edit]

  1. Update any relevant debian files and get it merged.
    • debian/control: Verify nodejs versions and any other dependencies (needed when we dropped node 0.10 support)
    • parsoid.install, parsoid.postinst, and other parsoid.* files: Verify if any post-installation scripts need updating (was needed when we went from localsettings.js --> config.yaml)
  2. Bump src to git sha from step #2 in parsoid repo and get patch merged (this could be done as part of step 1 above)
  3. Update git tag with the version number in step #2 from the parsoid repo.
  4. Run the following commands.
cd debian
# edit the release to something like 'parsoid (0.7.1all) jessie-mediawiki; urgency=medium', and possibly add some notes, then save with :w
# For security releases update urgency to a higher level (see https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Urgency) 
dch --check-dirname-level=0 
cd ..
dpkg-buildpackage -b

A new package should now be available in ../parsoid_<version>

Upload the new package[edit]

Follow the instructions in https://wikitech.wikimedia.org/wiki/Releases.wikimedia.org. We have run into problems with this in the past and better to have some ops person around to troubleshoot when the deb upload fails.