4TUResearchData / djehuty

The 4TU.ResearchData repository system
Other
24 stars 6 forks source link

Create automated workflow for connecting GitHub release to 4TU archival #20

Open mwakok opened 5 days ago

mwakok commented 5 days ago

Similar to the Zenodo workflow to add/update an archive upon creating a new GitHub release, it would be great to have a GitHub(/GitLab/BitBucket) workflow example to accomplish the same for 4TU.ResearchData. A researcher can then automate archival through a new GitHub release.

Some of the features to consider including in the workflow:

roelj commented 5 days ago

Thanks @mwakok! To add to our discussion on this feature yesterday; I am wondering whether we can add an API call on the djehuty side that would automate most things:

  1. Create a new version of the dataset;
  2. Clone/pull the latest version from the code hosting platform (Github/Gitlab/Bitbucket/Savannah/Forgejo);
  3. Check for release tarballs/binaries in the tagged releases.

This way, it may be easier to setup, but I'm not sure how djehuty would know which Git repo to clone/pull. Perhaps we can use the "code hosting URL" field that was recently introduced.

bbartholdy commented 11 hours ago

I think Zenodo implements this using webhooks (https://github.com/zenodo/zenodo/blob/482ee72ad501cbbd7f8ce8df9b393c130d1970f7/zenodo/config.py#L380), so that could be a way to go, and both GitLab and GitHub support them.

It would be great to have a GitLab integration, since at least TUD has its own instance (probably other TUs as well)

roelj commented 10 hours ago

Using webhooks seems like a good path forward. Coincidentally, this could also be of interest to @JDDevISSC who is also looking into integrating a Gitlab instance with 4TU.ResearchData.