You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GitHub Actions are used by the workflows in the templates: OTTR_Template, OTTR_Quarto, OTTR_Template_Website, and OTTR_Quarto_Website.
These template repos send out syncs to users' individual ottr courses and websites.
How to make changes/add features to ottr
Start with the ottrpal R package and test things on the relevant template locally.
Create a new branch on ottrpal, take a look at the unit tests set up in the testthat folder. You can run these for initial testing.
You can also load your dev version of ottrpal and then test your changes on a local OTTR course/website. Either a template or a real course/website.
File a pull request to ottrpal, make sure the tests pass and have it reviewed but then you can merge
Now go to ottr-docker and push a development version of the docker images jhudsl/base_ottr:dev and jhudsl/ottrpal:dev
3a. If needed, make associated changes to ottr-reports or ottr-preview on a development branch (DO NOT merge yet).
There are tests that will run on these repos
3b. At the same time you have ottr-reports or ottr-preview branch open, go to a relevant template repository and open a development branch there to test. You will need to change references in the relevant workflow to call your development branch to test your new changes ottrproject/ottr-reports@dev_branch_name temporarily.
You may need return to make updates to the ottrpal R package and docker images to make adjustments in this process.
Once everything is working and all tests are passing, you can begin the merging process.
If NO changes are need to users workflows then you can just in this order:
Change tag of docker image jhudsl/base_ottr:dev -> to jhudsl/base_ottr:mainand push to dockerhub (See ottr-docker README for how to do this)
Change tag of docker image jhudsl/ottrpal:dev -> to jhudsl/ottrpal:main and push to dockerhub
On your development branch change ottr-reports or ottr-previews references to reference the docker images with main tags jhudsl/ottrpal:main. Ensure tests are still passing.
Merge ottr-reports or ottr-previews to main (this will now make the changes live to users).
Yay! You're good. Just keep an eye out for breaks.
If this involves changes to user workflows then there are extra steps.
Send out an OTTR sync and post a discussion with the explanation of the steps.
Be cognizant of the downstream templates and OTTR variants that may need slightly different versions of these changes.
OTTR Sleuthing tips
Get the logs
Navigate to the specific repo that is having the problem. Read the GitHub Action logs extensively. You may need to go to a step that is not automatically dropped down when you open it.
Read the logs
Look for steps called Run the check.
Try to replicate the error
Use the appropriate template repo to file a draft PR to try to replicate the error. OTTR_Template/OTTR_Quarto
Document it all
Document the error and a suggested fix as a GitHub issue now you can address it by following the steps above.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
A summary of the OTTR ecosystem:
ottrpalR package has the direct functionality (stored injhudsl/base_ottrandjhudsl/ottrpaldocker images have the ottrpal R packagebase_ottrhas the essentials for running OTTRjhudsl/ottrpalis just an executable version ofbase_ottrottr-reportsandottr-previewHow to make changes/add features to ottr
testthatfolder. You can run these for initial testing.jhudsl/base_ottr:devandjhudsl/ottrpal:dev3a. If needed, make associated changes to
ottr-reportsorottr-previewon a development branch (DO NOT merge yet).3b. At the same time you have
ottr-reportsorottr-previewbranch open, go to a relevant template repository and open a development branch there to test. You will need to change references in the relevant workflow to call your development branch to test your new changesottrproject/ottr-reports@dev_branch_nametemporarily.If NO changes are need to users workflows then you can just in this order:
jhudsl/base_ottr:dev-> tojhudsl/base_ottr:mainand push to dockerhub (Seeottr-dockerREADME for how to do this)jhudsl/ottrpal:dev-> tojhudsl/ottrpal:mainand push to dockerhubjhudsl/ottrpal:main. Ensure tests are still passing.If this involves changes to user workflows then there are extra steps.
OTTR Sleuthing tips
Get the logs
Navigate to the specific repo that is having the problem. Read the GitHub Action logs extensively. You may need to go to a step that is not automatically dropped down when you open it.
Read the logs
Look for steps called
Run the check.Try to replicate the error
Use the appropriate template repo to file a draft PR to try to replicate the error. OTTR_Template/OTTR_Quarto
Document it all
Document the error and a suggested fix as a GitHub issue now you can address it by following the steps above.
Beta Was this translation helpful? Give feedback.
All reactions