Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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 (Project FBcv_GH).
There are two separate -edit files which make up FBcv: dpo-edit.owl and fbcv-edit.obo.
Prior to making a release:
- Update external ontologies.
- Fix anything causing Jenkins to fail, with corrections done in dpo-edit.owl or fbcv-edit.obo. 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 the -simple.obo for changes to the ontology since the last update using Emacs (Tools>Compare>Two files) Compare to the current one in trunk/fbcv-simple.obo, going through every change.
- Spell check
- 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. 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.
Clone or or pull the repository, naming it fbcv (naming the repo fbcv is critical here!):
Navigate to folder fbcv
tools/release_and_checking_scripts/releases/onto_release.pl fbcv $FBCV_OORT
fbcv is the ontology name; $FBCV_OORT is the path to the oort directory in the workspace of the FBbt_SF_trunk build on Jenkins. (These should be stored as environmental variables in the account on the Jenkins server used for running releases.
If everything has run without warnings, git add and commit the generated files manually.
Please note, onto_release.pl performs quite 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:
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.