feat: Add automated Scribe-Data update and deployment workflow#40
Conversation
- Add GitHub Actions workflow for automated Scribe-Data updates - Triggers on push to main, manual dispatch, and monthly schedule - Uses existing update_data.sh script to generate SQLite files - Automatically deploys to Toolforge via SSH - Includes backup mechanism and artifact storage - Resolves monthly manual update process
Thank you for the pull request! ❤️The Scribe-Server team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the |
Maintainer ChecklistThe following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :) |
🔧 Toolforge Deployment Testing (via GitHub Actions)This guide explains how to test the GitHub Actions workflow that updates data and deploys to Toolforge. 1. Generate a New SSH Key (One-Time)Create a new key pair (without passphrase) specifically for GitHub Actions and Toolforge use:
2. Add Your Public Key to ToolforgeCopy the public key content: Then log into Toolforge and add it: 3. Add GitHub SecretsCopy your private key content: In your GitHub repository → Settings → Secrets and variables → Actions, add the following:
REQUIRED: Also copy public key to Toolforge (for manual SSH if needed), If not the login process will not work!🔑 Visit your Toolforge account and add your public SSH key here: 4. Run the Workflow
|
|
We need to add a feature to log which language data types were updated and how many new entries were added. Also, can we notify the Matrix data channel once the data update completes / before the update ? 🤔 CC: @DeleMike , @andrewtavis |
|
Many thanks @axif0 ! 💯🙏🏾 I have some questions:
Do you mean in summary, getting what new data was added? Either like a new language was added and a new data type for an existing language was added? Could you help elaborate, please? |
|
Let's maybe make another issue for adding in the notification to this, as I'll need to add Scribe-Bot into the data channel and get the repo set up to send messages there :) |
| force_update: | ||
| description: "Force data update even if no release" | ||
| required: false | ||
| default: "false" |
There was a problem hiding this comment.
One thing that I'm wondering here, @DeleMike: Why is this a string value "false"? I'm getting a warning on my end that this should just be a boolean, but maybe there's a reason why it needs the quotes? Similarly above, does the description need the quotes?
If there are needed changes here, then it'd be great if they could be included in the next PR 😊
|
Above commit moves the great guide here into the contributing guide for Scribe-Server 😊 |
Contributor checklist
./pre-commitexecutable as well asmake lintand have fixed all reported issuesDescription
Automates the monthly Scribe-Data update process with a GitHub Actions workflow that runs the existing
update_data.shscript and deploys SQLite files to Toolforge.What it does
update_data.sh→ packages SQLite files → deploys to Toolforge via SSHRequires setup of
TOOLFORGE_SSH_KEYandTOOLFORGE_USERrepository secrets for deployment. It also requires user to paste the value ofTOOLFORGE_SSH_KEYinto their toolforge accountRelated issue
update_data.shintegration on Toolforge #37update_data.sh#38