-
Notifications
You must be signed in to change notification settings - Fork 6
Release SOP
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.
Note - releases are always made from the trunk and use the relevant Jenkins job (FBbt_GH)
Prior to making a release:
-
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!).
-
Fix all problems listed in chado_load_checks_out.txt
-
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.
-
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.)
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:
- 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.
- 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.