Skip to content

Commit

Permalink
workflow: add automation of syncing translations from Crowdin
Browse files Browse the repository at this point in the history
This will poll translations from Crowdin bi-weekly, test a build to
make sure that the site will compile, and then push to the main branch.

This saves the effort of manually syncing translations.
  • Loading branch information
lifehackerhansol committed Nov 20, 2024
1 parent dec61c9 commit be29706
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/crowdin-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Import translations from Crowdin

on:
schedule:
- cron: "0 0 1,15 * *"
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Install dependencies
run: npm ci

- name: Setup Crowdin CLI
run: |
npm i -g @crowdin/cli
- name: Pull from Crowdin
run: |
CROWDIN_TOKEN=${{ secrets.CROWDIN_TOKEN }} ./crowdin-pull.sh
- name: Pull origin
run: git pull origin main --ff-only # Pull origin in case a commit has been done while updating

# This makes sure that the site actually builds before pushing to the repo
- name: Build site
run: npm run docs:build

- name: Commit changes
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
git checkout main
git stage .
git commit -m "Automatic translation import"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master

0 comments on commit be29706

Please sign in to comment.