Speller Release Procedures

Speller release procedure

  1. Create a branch from the codebase you want to use after testing the codebase
    1. ... or add bug fixes to an existing release branch
  2. build and upload the speller

Build a bug fix release

  1. check out the branch for which you want to release a bug fix, e.g.: https://gtsvn.uit.no/langtech/branches/sma-speller/4.0 sma-speller-4.0
  2. cd into the branch, then giella-core
  3. ./autogen.sh && ./configure
  4. export GTCORE=`pwd` - to set the branch-specific giella-core as the Giella core to use
  5. cd ../$GIELLALANG/
  6. ./autogen.sh && ./configure
    1. Remember proper speller release configurations! Will vary a bit from language to language, but typically something like:
./configure --without-xfst --with-hfst --enable-spellers --disable-syntax --disable-transcriptors --disable-analysers --disable-generators --enable-alignment

Merge your changes as needed, e.g. to merge a single file, do as follows:

svn merge \
^/trunk/langs/smj/am-shared/tools-spellcheckers-fstbased-desktop-hfst_prods_n_upload-dir-include.am \

In case you get conflicts, review and resolve them.

You can also specify the revisions you want to merge, to pick only the changes you are interested in:

svn merge --revision 126367:128639 \
^/trunk/langs/smj/am-shared/tools-spellcheckers-fstbased-desktop-hfst-dir-include.am \

Then build and test the spellers:

  1. time make -j
  2. test etc. (see next section)
  3. if everything is ok, upload:
cd tools/spellcheckers/fstbased/[desktop/]hfst/; make upload

You can also upload just some of the packages, if the update is only relevant for a subset:

make [uploadoxt | uploadxpi | uploadzip | uploadzhfst]


To finish the release:

  1. create a new tag for the release
  2. update version info page
  3. add note to main speller page about the new release, check that the documentation is up-to-date
  4. Update web site
  5. announce the release on FB, G+, e-mail


  • technical testing:
    • download the spellers, install them and use them on some document
    • run some basic command line spelling process, check that the output is ok
  • linguistic testing:
    • forthcoming, but involves several larger tasks to ensure we have no regressions and decent performance
    • only required if there have been linguistic changes (ie technical bug fixes usually do not require this type of testing)