perseids-publications / treebank-template

Template for publishing collections of treebanks.
https://perseids-publications.github.io/treebank-template/
MIT License
1 stars 9 forks source link

GitHub workflow for updating the template code #48

Closed zfletch closed 4 years ago

zfletch commented 4 years ago

Addresses the technical part of https://github.com/perseids-publications/treebank-template/issues/44 (we still need to update the Getting Started docs).

This PR creates a GitHub workflow called "update" that's based on git restore. It is triggered manually via GitHub's web interface and it updates the template code while keeping user-modified files like public/xml/*.xml and src/config.json.

This should allow people who use the template to keep everything up to date without having to understand the details of git merging. I forked an older repository to test it on and it seems to work (commit).

It takes advantage of the newly released workflow_dispatch trigger. While testing, I ran into a bug on GitHub's side: the action did not show up unless I changed the trigger to push then changed it back to workflow_dispatch. This only happened sometimes and seemed to be related to force pushes. Once the action was set up, everything went well. Still, I think we should be aware there could be issues while GitHub is still debugging this trigger.


A user triggers the workflow by clicking "Actions", clicking "update", optionally entering a tag, then clicking "Run workflow":

source-master v3-0-0
zfletch commented 4 years ago

The only other comment I have is that the comments in several of the files say "It requires the repository to be in a very specific state." but it isn't explained exactly what that state is other than to refer to the README and update.yml. Would it be possible to just summarize that here?

That's a good idea. I'll add a line to the comments about that.

Btw, I think perhaps the update of the .env flie is something that is missing from the instructions I wrote. Should it be there?

Everything will still work if the .env file isn't updated. The values are only used for the title of the page and for the preview that shows up when posting a link to social media like Twitter or Facebook (here).