Skip to content
Tamsin Jones edited this page Dec 14, 2017 · 5 revisions

NEEDS UPDATING TO CURRENT PATHS The Drosophila anatomy ontology (fbbt) is used here as an example. Apart from directories, the steps here are identical for fbdv. Releases take advantage of the Flybase Ontologies Jenkins server.

Preparing for a release

Note - releases are always made from the trunk and use the relevant Jenkins job (FBbt_GH)

Prior to making a release:

  1. Update external ontologies

  2. Fix anything causing Jenkins to fail. The cause of a build failure should be apparent from the very chatty console output of the build. i. Work through all name and ID changes described in obo_track_out.txt. (Note, dropped IDs will cause a build fail with error "Dropped IDs!") ii. Are there any name obsolete terms for which no replacement has been suggested? - Please fix ALL of these iii. Are there any name changes not retained as synonyms? If so - are they justified in that keeping them would cause confusion (this should be rare!).

  3. Fix all problems listed in chado_load_checks_out.txt

  4. Check all changes to the ontology since the last update using Emacs (Tools>Compare>Two files) i. Find the revision number for the trunk/fbbt-edit.obo before the branch update happened

        svn log /path/to/repo/fbbt-edit.obo | less
    

    ii. Save the file to the desktop

        svn cat -r<number> /path/to/repo/fbbt-edit.obo > /path/to/desktop/fbbt-edit_r<number>.obo
    

    iii. Compare to the current one in ontologies/fbbt-edit.obo, going through every change.

  5. Spell check

  6. Manually edit the OBO file to update the header: i. data-version should be changed to the current date as YYYY-MM-DD. If there are 2 releases in a day, append an 'a' to this, a 'b' if there are 3 etc. ii. Update the remark text to include the data-versions and date-stamps of external ontologies whose terms have been imported. iii. Check that fbbt-edit.obo loads OK in OBO-Edit (owltools/oort permissiveness occasionally means a broken initial OBO file passes checks and produces odd translations!). iv. Check that the -simple.obo file from the build loads OK in OBO-Edit (This really shouldn't be necessary! But provides a final paranoid check.)

Making a release

Note - running this requires ssh access to Jenkins CI server.

From a checked out copy of the whole repo in an account on the Jenkins CI server.

Navigate to the repo root

and run

tools/release_and_checking_scripts/releases/onto_release.pl fbbt $FBBT_OORT

fbbt is the ontology name; $FBBT_OORT is the path to the oort directory in the workspace of the FBbt_SF_trunk build on Jenkins.

That's it!

Please note, onto_release.pl performs a few final checks:

  1. it won't run if oort has failed, if it has not produced a -simple.obo file, or the data-version tag value does not follow the standard described above.
  2. It won't run if oort and releases folders do not match files on a whitelist:

src/trunk/tools/fbbt_release_files_whitelist

All files on this whitelist must be present in the oort folder.
The releases folder must only contain files from the whitelist, and all whitelist files must be present in the releases folder and under version control.