class: center, middle, inverse, title-slide .title[ # Accessibility and Reproducibility ] .author[ ### Best Practices for Writing Reproducible Code // part 5 ] --- # Let's think about the future... -- #### Will this repository still be here in five years? ### Will my account? ## Will GitHub? --- # Archiving the project ![zenodo-part3](https://blog.zenodo.org/static/img/logos/zenodo-gradient-1000.png) Zenodo has a sandbox environment! - Not the main data repository, but still functional. - You will get an *actual* DOI, and your project will (probably?) not be deleted! - Only do this following exercise if you are OK with your code staying online! - You will not be able to do this with a private repository. Zenodo and Github have a pipeline that makes your life easier! (_Check the full how-to [on GitHub](https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content#issuing-a-persistent-identifier-for-your-repository-with-zenodo)._) #### Your turn: - Go to: [sandbox.zenodo.org](https://sandbox.zenodo.org/), and log in with GitHub. (If you do not have GitHub, simply sign up for a zenodo account; some of the coming steps you will need to do manually...) - GitHub will then ask permission to give Zenodo access; click "Authorize application". --- # Select your repository ![toggle](https://web.archive.org/web/20211021121037if_/https://guides.github.com/activities/citable-code/zenodo-toggle-on.png) Click on your enabled repository. This will take you to a page with a green GitHub button. With this button you can create a realease for your publication. --- # Release your project! ![release](https://web.archive.org/web/20211026201828if_/https://guides.github.com/activities/citable-code/repo-view.png) ... and follow the workflow! (Unsure about version number? Wait a slide! :-)) --- # Semantic versioning A version has three numbers: MAJOR.MINOR.PATCH - MAJOR version denotes changes that alter the compatibility (i.e. someone using your functions may need to change their use for their code to still work), - MINOR version adds functionality, but remains compatible - PATCH version makes (compatible) bug fixes. (If your bug fix changes compatibility, it is therefore a MAJOR version change!) #### You can release today with v0.1.0 --- # Check zenodo Your code is now uploading to Zenodo: you can check it under the 'upload' tab: ![citable-upload](https://web.archive.org/web/20211026201828if_/https://guides.github.com/activities/citable-code/upload-tab.png) --- # Getting your DOI - Add some final descriptions - Click 'publish' - Voilá! ![zenodo-upload](https://web.archive.org/web/20211026201828if_/https://guides.github.com/activities/citable-code/zenodo-form.png) --- # Getting your DOI Do you know your DOI? As a final touch (only with real Zenodo!): you can take your DOI and place it as a badge at the top of your README. ``` [![DOI](https://zenodo.org/badge/doi/YOUR.DOI.svg)](http://dx.doi.org/YOUR.DOI) ``` __This is not recommended with a Sandbox DOI, because sandbox projects are not permanent.__ __The Sandbox DOI will not work like a normal one does!__ --- # Are you ready? #### Let's exchange projects! Please go to the second tab in the status chart [tinyurl.com/repcochart](https://docs.google.com/spreadsheets/d/1J3SfR2C0cghVjUPGCjk9UXZzipB3c7HL5Z1iicK8adc/edit#gid=600881461), and fill out: - your project name - your project (github) URL - your name - the language in which the project was written in the yellow columns. NB this information will be deleted right after the course -- #### Now, write your name in one of the blue columns behind a project you will reproduce. We hope that everyone's repository will get a reproduction-attempt, so only add your name to the second column if there are no repos left (for you)! -- #### As you reproduce, please give your colleague feedback! Open an issue in your colleague's GitHub repository and copy/paste this [feedback template](../feedback-on-reproducing-projects.txt)