inbo / checklist

An R package for checking R packages and R code
https://inbo.github.io/checklist
GNU General Public License v3.0
19 stars 2 forks source link

Zenodo #76

Closed ThierryO closed 2 years ago

ThierryO commented 2 years ago

fixes #74 fixes #72

ThierryO commented 2 years ago

I have a PR almost ready, I suppose I have to wait until this PR is merged if I want to test if the Zenodo stuff works properly? Then I maybe better approve here after my question is solved, and add issues afterwards if I experience problems with Zenodo?

I had to push the docker manually to make this PR check. I suggest that you check inbo/inbodb#35 with this version of checklist.

ElsLommelen commented 2 years ago

I encounter a first problem related to trying this new version: during CI I get the error that .zenodo.json needs an update, but locally I don't get this error. I tried installing the newest checklist version locally using remotes::install_github("inbo/checklist@zenodo"), but this doesn't help: after running checklist::check_package() I still don't get the error locally, most likely because there is no file .zenodo.json. In the NEWS file I read something about a function write_zenodo_json(), so I tried running this function, but still no .zenodo.json appears...

Honestly, to me it is also unclear how to deal with an update of checklist: do we have to run setup_package() for each package after each update of checklist, or is is ok to just run check_package() with the newest version of checklist whenever we make changes? I always do the latter, as the documentation doesn't mention anything on it, and it seems most convenient that it just keeps working unless something is mentioned on the NEWS site.

(For clarification: I had checklist set up on this package somewhere last year, probably before the zenodo functionality was added, and up to now this error never appeared during CI, as far as I know.)

ThierryO commented 2 years ago

Did you restart R? The .zenodo.json file should be there as it is in inbo/inbodb#35.

Running setup_package() is only required when you want to use the latest GHA workflows or pkgdown styling. It doesn't hurt to run setup_package(). It will only rerun when the git environment is clean. The diff will tell you what was changed.

I delibrately added a session info to the output of check_package() so you can compare the version numbers between the local and the CI checks.

ElsLommelen commented 2 years ago

Ok, now I get it: RStudio doesn't show .zenodo.json in the explorer window. Anyway, after restarting RStudio and opening .zenodo.json in notepad++ once, it appeared in the Git window after running checklist::check_package() again.

Yes, I already noticed the session info in the output, but for some reason I still succeed in getting different results now and then, even if the versions are the same. I already learned I have to refresh the git window because not all file types appear automatically, apparently I also have to restart R and run the check again...

Anyway, finally my test passed, thanks for your help! Time to check the zenodo part!

ThierryO commented 2 years ago

files starting with a dot are considered hidden files. They are hidden by default. You can make them visible through a setting in the file explorer or your OS.

Can you approve this PR when things run smoothly?

ElsLommelen commented 2 years ago

By the way, in this section below, there is a reference to ubuntu 18.4 'oldrel'. So make sure you adapt this everywhere. ;-) (I don't know how to add it as a suggestion without starting a new branch and PR, because in this PR there are not yet any changes in this file...)

ElsLommelen commented 2 years ago

files starting with a dot are considered hidden files. They are hidden by default. You can make them visible through a setting in the file explorer or your OS.

This setting is set and all hidden files are shown in Windows Explorer (and also .zenodo.json is shown there). Also: other files and folders starting with a dot are shown in RStudio (.github, .gitignore, .httr-oauth, .Rbuildignore, .Rhistory), only .zenodo.json is lacking here. (If I remember well, I have the same problem with .env.) So I don't know where to solve this problem, if I just know it should be there, I know some options to open it.

ElsLommelen commented 2 years ago

Can you approve this PR when things run smoothly?

I will, but only after I tested the whole process up to the publication in Zenodo. ;-)

ThierryO commented 2 years ago

Did you activate the github repo at zenodo?

ElsLommelen commented 2 years ago

Yes, I did. But now I noticed a mistake in my profile. And after solving this, I noticed an error in the zenodo release, which refers to a mistake in the orcid identifier of one of the authors... So it seems your workflow works fine, while I still have to fix some minor mistakes. ;-)

ElsLommelen commented 2 years ago

Oups, apparently not a mistake in the ORCID, but the X in one of the orcids in the description file has changed to X> in the .zenodo.json, and I suppose this is triggering the error in Zenodo. The exact error in Zenodo is:

{
    "errors": "{'metadata': {'creators': {2: {'orcid': ['Not a valid ORCID identifier.']}}, u'language': [lu'Language must be a lower-cased 3-letter ISO 639-3 string.']}}"
}

I suppose this error is due to the checklist workflow? Or do we have to replace upper case characters in the orchid by lower case characters in the description file? (In the latter case, some check and an error in the checklist checks could be useful in my opinion.)

ThierryO commented 2 years ago

This is a bug in write_zenodo_json() #79. I'll fix it.