Set Up a Repository | Archive Your Repository | Add Your Repo to the UIowa Community

Publishing your code offers many benefits. In addition to preserving your code and making it accessible to others, publishing also ensures others can cite it, reproduce it, and helps you contribute to the open science movement.

By connecting Github for code development, with Zenodo for preserving and sharing code, you can take advantage of both systems:

  • Zenodo preserves snapshots of the code and creates a citable DOI for your software, and
  • when you create new versions in GitHub, you can quickly publish them in Zenodo.

If you’d like a printable PDF of the information below, click here.

First: Set Up a GitHub Repository

A GitHub repository can house anything relevant to your project (including code, API documentation, data sets, spreadsheets, etc.) It will have a unique URL you can share with others.

1. Log in to GitHub.

2. Click the green “Create Repository” button

A screenshot showing step 2 in the directions above.


3. Choose a descriptive name and write a brief description for your repository.

4. Make the repository public (this allows you to archive it).

5. Add a README file now or add it later (just make sure you include one!)

6. Choose which files not to track (if applicable).

7. Choose a license for your repository.

8. Create your repository.

A screenshot of steps 3-8 above.


Next: Archive Your Repository in Zenodo

Zenodo is an open repository that preserves your code and will archive your GitHub repository each time you create a new release. Each submission in Zenodo will be assigned a DOI (digital object identifier), meaning your code can be cited by others.

Archiving in Zenodo requires two steps: linking your GitHub repository with Zenodo and then creating and publishing a release of your repository.

Link GitHub with Zenodo:

1. Log in to Zenodo with your GitHub account. (Zenodo may prompt you to authorize GitHub).

A screenshot showing step 1 above.

2. From the drop-down menu next to your email address, select GitHub.

Screenshot showing step 2 above.


3. You will see your GitHub repositories. If needed, choose “Sync Now” to update.

A screenshot of step 3 above.

Archive Your Repository

1. Toggle the “on” button next to the repository you want to archive.

Screenshot of step 1 above.

2. Click on the name of the repository.

3. Choose the “Create Release” button. This redirects you back to GitHub’s repository page.

Screenshot of step 3 above.

4. Complete the fields (title, description, version number.) If this is your first release, use version number v1.0.0.

5. Click “Publish Release” at the bottom of the page.

Screenshot of steps 4 and 5 above.

Add Your Repository to the University of Iowa Community on Zenodo

Uploading your repository to the UIowa community will allow other UIowa researchers to easily find your code (and for you to find theirs!)

1. From your list of Zenodo repositories, click the DOI link for the repo you want to add.

A screenshot of step 1 above.

2. Choose “edit.”

A screenshot of step 2 above.

3. Search for and choose the University of Iowa community.

A screenshot of step 3 above.

4. Save

A screenshot of step 4 above.


What Now?

If you return to Zenodo and access GitHub through Zenodo, you should see your repository listed under “Enabled Repositories” with a blue DOI button next to it. (If it’s not there, choose “Sync Now”).

Now you can:

1. Edit the archive and/or publish a new version.

2. Add a description of the repository and write the metadata.

3. Click the blue DOI button to copy the badge in Markdown and add it to your README in GitHub.