diff --git a/.github/codespell-ignore b/.github/codespell-ignore new file mode 100644 index 0000000..1ab1672 --- /dev/null +++ b/.github/codespell-ignore @@ -0,0 +1,2 @@ +entrace +Ned diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b53e438..2f05861 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,10 +23,10 @@ repos: - id: trailing-whitespace # spell check - repo: https://github.com/codespell-project/codespell - rev: v2.2.4 + rev: v2.4.1 hooks: - id: codespell - args: ["--ignore-words-list=entrace"] + args: ["-I ./.github/codespell-ignore"] # R formatting - repo: https://github.com/lorenzwalthert/precommit rev: v0.1.3 diff --git a/CHANGELOG.md b/CHANGELOG.md index a417811..a524077 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## HowTos development version +- Update the Zenodo guide with current CCBR practices (#55, @kelly-sovacool) + ## HowTos 1.0.0 The website is now rendered with Quarto (#24, @kelly-sovacool) diff --git a/docs/images/zenodo-community-ccbr-page.png b/docs/images/zenodo-community-ccbr-page.png new file mode 100644 index 0000000..90a2fe7 Binary files /dev/null and b/docs/images/zenodo-community-ccbr-page.png differ diff --git a/docs/images/zenodo-community-ccbr.png b/docs/images/zenodo-community-ccbr.png new file mode 100644 index 0000000..4436b60 Binary files /dev/null and b/docs/images/zenodo-community-ccbr.png differ diff --git a/docs/images/zenodo-submit-community.png b/docs/images/zenodo-submit-community.png new file mode 100644 index 0000000..3b9c4ba Binary files /dev/null and b/docs/images/zenodo-submit-community.png differ diff --git a/docs/zenodo.md b/docs/zenodo.md deleted file mode 100644 index 516eeaf..0000000 --- a/docs/zenodo.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Zenodo" -author: "[Ned Cauley](https://github.com/escauley)" ---- - -Submit a pipeline to Zenodo in order to create a DOI for publication. - -## Reference link - -Use the link for full information, summarized below: https://www.youtube.com/watch?v=A9FGAU9S9Ow - -## Prepare GitHub Repository - -The GitHub repository should include the following: - -1. README page -2. Documentation page, such as mkdocs, with usage and contact information -3. A citation `CITATION.cff`; [Example here](https://github.com/CCBR/CCBR_NextflowTemplate/blob/main/CITATION.cff) -4. Tagged and versioned, stable repository - -## Link GitHub account to Zenodo - -1. Go to [Zenodo](https://zenodo.org/) - -2. Select `username` in the top right >> `Profile`. Select `GitHub`` - -3. Click `Sync Now` (top right) to update repos. NOTE: You may have to refresh the page - -4. Toggle the `On` button on the repo you wish to publish. This will move the pipeline to the `Enable Repositories` list. - -## Prepare GitHub Repo - -1. Go to [GitHub](https://www.github.com) and find the repository page. - -2. Select `Releases` >> `Draft a new release` - -3. Create a tag, following naming semantics described [here](https://ccbr.github.io/HowTos/GitHub/sop_projpipes/#release-tagged-nomenclature) - -4. Describe the tag with the following: "Connecting pipeline to Zenodo" - -## Update Zenodo Information - -1. Go to [Zenodo](https://zenodo.org/) - -2. Select `My dashboard` >> `Edit` - -3. Update the following information: - - - Resource Type: Software - - Title: Full Pipeline Name (ShorthandName) (IE Mouse nEoanTigen pRedictOr (METRO) - - Creators: Add creators, including ORCID's whenever possible - - Description: A short description of the main features of the pipeline - - Additional Description: If you use this software, please cite it as below. - - Keywords and subjects: Add several keywords related to the pipeline - - Version: add the version used in GitHub - - Publisher: Zenodo - - Related works: "Is original form of" "github website" URL - -## Add DOI, citation to GitHub - -1. Go to [Zenodo](https://zenodo.org/) - -2. Select `username` in the top right >> `Profile`. Select `GitHub`` - -3. Click `Sync Now` (top right) to update repos. NOTE: You may have to refresh the page - -4. Copy the DOI for the repository - -5. Return to the GitHub repository and edit the `README` of the GitHub repo, adding the DOI link. - -6. Update the `CITATION.cff` as needed. - -7. Create a new tagged version. diff --git a/docs/zenodo.qmd b/docs/zenodo.qmd new file mode 100644 index 0000000..e7e9dff --- /dev/null +++ b/docs/zenodo.qmd @@ -0,0 +1,83 @@ +--- +title: "Zenodo" +author: "[Ned Cauley](https://github.com/escauley) & [Kelly Sovacool](https://github.com/kelly-sovacool)" +--- + +Submit a pipeline to Zenodo in order to create a DOI for publication. + +## Reference link + +Use the link for full information, summarized below: + +## Prepare GitHub Repository + +The GitHub repository must be **public** and should include the following: + +- README file +- Documentation pages, such as via mkdocs, quarto, or pkgdown, with usage and contact information +- A citation `CITATION.cff` file; [Example here](https://github.com/CCBR/CCBR_NextflowTemplate/blob/main/CITATION.cff) +- Tagged and versioned, stable repository + +## Link GitHub account to Zenodo + +1. Go to [Zenodo](https://zenodo.org/) +1. Select `username` in the top right >> `Profile`. Select `GitHub`` +1. Click `Sync Now` (top right) to update repos. NOTE: You may have to refresh the page +1. Toggle the `On` button on the repo you wish to publish. This will move the pipeline to the `Enable Repositories` list. + +## Prepare GitHub Repo + +1. Go to [GitHub](https://www.github.com) and find the repository page. +1. Select `Releases` >> `Draft a new release` +1. Create a tag, following [semantic versioning guidelines](https://semver.org/). +1. Fill out the Release notes from the `CHANGELOG.md` or `NEWS.md` file. +1. Publish the release. + +Zenodo will then automatically create a new record with a DOI for the release. + +## Submit your Zenodo record to the CCBR community + +Navigate to your repo's new record in Zenodo. +You can find your Zenodo records at . +Click on your new record and scroll down to the `Communities` section toward the bottom of the page, +click the gear icon, then click `Submit to community` and search for "CCBR". + +![](/docs/images/zenodo-submit-community.png) + +![](/docs/images/zenodo-community-ccbr.png) + +Once your record is accepted by an admin, it will appear on the [CCBR community page](https://zenodo.org/communities/ccbr). + +![](/docs/images/zenodo-community-ccbr-page.png) + +## Update Zenodo metadata + +If you created a [`CITATION.cff`]((https://github.com/CCBR/CCBR_NextflowTemplate/blob/main/CITATION.cff)) file, Zenodo will use it to fill out the metadata. +Otherwise, you will need to edit the metadata in Zenodo manually. + +Navigate to the record in Zenodo and click `Manage record` > `edit`. +Update any metadata information as needed such as the title, author names and ORCIDs, etc. + +## Add DOI, citation to GitHub + +1. Go to the record on Zenodo +1. Copy the all-versions DOI. +1. Return to the GitHub repository and edit the `README` of the GitHub repo, adding the DOI as a badge. +1. Update the `CITATION.cff` with the new DOI: + + ``` + identifiers: + - description: "Archived snapshots of all versions" + type: doi + value: ALL_VERSIONS_DOI + ``` + + (replace `ALL_VERSIONS_DOI` with the actual DOI from Zenodo) +1. Add a line to your repo's changelog or news file under the development header to announce the new DOI: + ``` + This repo is now archived in Zenodo with a DOI: ALL_VERSIONS_DOI + ``` + +## Getting Help + +If you run into problems or have any questions, please reach out to [Kelly Sovacool](mailto:kelly.sovacool@nih.gov).