Difference between revisions of "Service/Weblate"
(Add weblate workflow script) |
(FIx typo) |
||
Line 105: | Line 105: | ||
environment file, the hooks configured in the repos make it easy for weblate to pull changes from Github. | environment file, the hooks configured in the repos make it easy for weblate to pull changes from Github. | ||
− | Add this workflow to {{Code|'''.github/workflows/ | + | Add this workflow to {{Code|'''.github/workflows/weblate-sync.yaml'''}} in the Github repo; |
name: Weblate - Create PR when weblate pushes changes | name: Weblate - Create PR when weblate pushes changes |
Revision as of 13:03, 4 April 2024
Hostnames
Hosted on
Administrative contact
- admin AT weblate DOT sugarlabs DOT org
Sysadmins
For non-emergency calls, preferably send email to the administrative contact.
- Chihurumnaya Ibiam has assumed maintainership tasks.
- Bernie Innocenti has system admin privs, but takes care only of OS-level administration.
- Alex Perez
Notes
User | weblate
|
---|---|
Home | /home/weblate/weblate-docker
|
Daemon |
|
Logs |
|
Config |
|
Ports |
|
Volumes |
|
Upgrade Notes
Weblate has upgrade notes on upgrading the docker container.
Maintenance Notes
Weblate is maintained. (ibiam has step-up to be maintainer)
After a restart, make sure to run saslauthd to enable authentication for postfix;
saslauthd -a shadow
Files
Important files and directories in the root directory, /home/weblate/weblate-docker
.
docker-compose.yml
Contains definitions for all the services and volumes used by weblate, which includes weblate, database and cache with volumes weblate-cache, weblate-data, postgres-data, redis-data.
.
environment
Contains environment variables used by container.
Tips
Create new Weblate translation component
- Create new translation component in Weblate admin menu, Add new translation component;
- Select Project, we currently have
core-sugar
andSugar-Activities
, core-sugar contains sugar core APIs. - Set version control system to GitHub pull request.
- Set source code repository link - using https -.
- Set repository branch.
- Set File format gettext PO file, File mask po/*.po
- Set Repository push URL to enable autoupdate of changes to Github from weblate.
- Set Push branch to weblate-sync which would be used to create a PR.
- On Github, add hook
https://weblate.sugarlabs.org/hooks/github/
to activity repo as it's used for automated flow of updates to weblate. - Check license in activity repo matches Translation license selected by weblate or set to the right license.
- Add all needed langs; when adding from Github, weblate automatically adds all the PO files and you'll only need to do this if the only PO file the activity has is the template PO file.
If an upload is incomplete, return to translation component, then Manage->Repository maintenance->Rescan, this will re-scan the repo and add all the po files.
Synchronization
Weblate automatically pushes changes to Github when there's a change on weblate because of the Github pull request version control above and the Github configuration can be found in the environment file, the hooks configured in the repos make it easy for weblate to pull changes from Github.
Add this workflow to .github/workflows/weblate-sync.yaml
in the Github repo;
name: Weblate - Create PR when weblate pushes changes on: push: branches: - weblate-sync jobs: weblateSync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Create Pull Request run: gh pr create --base main --head weblate-sync -t "Weblate Synchronization" --body "" env: GH_TOKEN: ${\{ github.token }}
This will automatically open a pull-request whenever weblate pushes changes to Github, be sure to drop the
\
in GH_TOKEN
References
https://docs.weblate.org/en/latest/admin/install/docker.html#upgrading-the-docker-container