IBM / datascienceontology

Data Science Ontology
https://www.datascienceontology.org
Creative Commons Attribution 4.0 International
36 stars 14 forks source link

DRAFT: Continuous deployment of ontology updates #21

Closed sander closed 4 years ago

sander commented 4 years ago

To make collaboration easier and more engaging, I propose to set up continuous deployment from the master branch. Any time a PR is merged (after review), the GitHub Actions machine clears all non-design documents from the live database and runs the already-existing bulk-couch-docs.sh.

See: https://github.com/sander/datascienceontology/commit/96a3bce5cb45d5657e549504fe426afa44c3f245/checks?check_suite_id=336326306 for a proof-of-concept demo.

To make this work in master:

Notes:

  1. This PR contains some work from #20 that I needed to make bulk-couch-docs.sh work on my machine.
  2. Since CouchDB does not support bulk transactions, this approach assumes GitHub Actions is the single writer and performs no concurrent writes. If these assumptions are broken, the database becomes inconsistent. This can be fixed by running the workflow again.

What do you think of this approach @epatters?

epatters commented 4 years ago

This is really fantastic, thank you @sander! Given that the current workflow involves me running similar commands manually, this is a huge improvement.

I will try this out on my end soon.

epatters commented 4 years ago

I will close this PR as I am now testing on my own branch. Thanks again!