How to deploy a custom OBO dashboard¶
Updated 2022 Workflow¶
We developed a completely automated variant of the Custom OBO Dashboard Workflow, which does not require any local installation.
- Create a repository using the Dashboard template repository. (How to create a repository from a template)
- Modify the
dashboard-config.yml
file, in particular theontologies
section:- Important: Add your ontology ID to the ID 'id' field
- Add the path to your ontology to the
mirror_from
field.
- Optional: use the
profile
section to overwrite the custom robot report profile and add custom checks!
yaml
profile:
baseprofile: "https://raw.githubusercontent.com/ontodev/robot/master/robot-core/src/main/resources/report_profile.txt"
custom:
- "WARN\tfile:./sparql/missing_xrefs.sparql"
-
Click on
Settings
>Pages
to configure theGitHub pages
. Set theSource
to deploy from branch, andBranch
to build frommain
(ormaster
if you are still using the old default) and/(root)
as directory. HitSave
. -
Click on the
Actions
tab in your repo. On the left, select theRun dashboard
workflow and click on theRun workflow
button. This action will rebuild the dashboard and make a pull request with the changes. - Review and merge the pull request. Once it is merged, GitHub will automatically rebuild your dashboard website.
- After 5 minutes, click on "Settings" > "Pages" again. You should now a new section with information where your site is deployed:
- Click on
Visit site
and you should find your new shiny dashboard page!
Troubloushooting¶
Error on GitHub Action - Run dashboard section¶
Failed: make dashboard ROBOT_JAR=/tools/robot.jar ROBOT=robot -B with return code 2
There is a known bug at the moment requiring at least one ontology with a warning, error, info and pass, see https://github.com/OBOFoundry/OBO-Dashboard/issues/85.
- In your
dashboard-config.yml
, add a temporary ontology we created to make this work. This is already in the Dashboard template repository.
ontologies:
custom:
- id: tmp
mirror_from: "https://raw.githubusercontent.com/monarch-ebi-dev/robot_tests/master/custom-dashboard.owl"
Error on GitHub Action - Create Pull Request section¶
remote: Permission to <name of the user or organization>/<name of the repository>.git denied to github-actions[bot].
You need to update the workflow permission for the repository.
- Click on
Settings
, thenActions
on the left menu, thenGeneral
. - Scroll down to the 'Workflow permissions section. Select the option 'Read and write permissions'. Save.
Error: GitHub Actions is not permitted to create or approve pull requests.
You need to enable GitHub Actions to create pull requests.
- Click on
Settings
, thenActions
on the left menu, thenGeneral
. - Scroll down to the 'Workflow permissions section. Click on the 'Allow GitHub Actions to create and approve pull requests' checkbox.
2021 Edition¶
Contributed by @XinsongDu
, edited by @matentzn
- Clone https://github.com/OBOFoundry/obo-nor.github.io and copy all its contents to a new GitHub repo under your account. Ensure that the
.gitignore
from theobo-nor.github.io
repo is also copied to your new repo (it is frequently skipped or hidden from the user inFinder
or when using thecp
command) and push to everything to GitHub. - Pull the Ontology Development Kit from Docker Hub (can take a while):
- Modify the
dashboard-config.yml
file, in particular theontologies
section: - Important: Add your ontology ID to the ID 'id' field
- Add the path to your ontology to the
mirror_from
field. - Get the "base uri namespace" of the ontology using the following steps: a. Open the ontology in Protégé b. Select a class and press "command + u" (MacOS), the stem of the path would be the base URI namespace (e.g., in EDAM ontology, the base uri namespace is http://edamontology.org/, for Uberon it would be http://purl.obolibrary.org/obo/UBERON_)
- Add the base uri namespace to 'base_ns' field of your ontology in the dashboard-config.yml
- (As of October 2021 make sure there are multiple ontologies in the dashboard-config.yml, otherwise errors would be reported while running the code. There are currently some bugs in the dashboard code that require at least 2 or 3 ontologies in the list).
- In the Makefile uncomment the
#
beforepip install networkx==2.6.2
to ensure the correct network x version is installed. - Run
sh run-dash.sh
(make sure dashboard folder is empty before running, e.g.rm -rf dashboard/*
). - When run successfully, push all changes to GitHub.
- Go to GitHub repo you just created, and go to Settings, then Pages, and select your main/master branch as "source", and your root directory. You will see a website URL highlighted in green, where your OBO dashboard is deployed.