Speller release procedure
- Create a branch from the codebase you want to use after testing the codebase
    - … or add bug fixes to an existing release branch
 
- build and upload the speller
Build a bug fix release
- 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
- cd into the branch, then giella-core
- ./autogen.sh && ./configure
- export GTCORE=pwd`` - to set the branch-specific- giella-coreas the Giella core to use
- cd ../$GIELLALANG/
- ./autogen.sh && ./configure- 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 \
am-shared/tools-spellcheckers-fstbased-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 \
am-shared/tools-spellcheckers-fstbased-hfst-dir-include.am
Then build and test the spellers:
- time make -j
- test etc. (see next section)
- 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)
Release
To finish the release:
- create a new tag for the release
- update version info page
- add note to main speller page about the new release, check that the documentation is up-to-date
- Update web site
- announce the release on FB, G+, e-mail
Testing
- 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)