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-monthly, 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 Apr 25, 2024
1 parent 025aa77 commit df6e66c
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/crowdin-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
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

- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true

- name: Pull from Crowdin
uses: crowdin/github-action@v1
with:
download_translations: true
env:
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_TOKEN }}

- name: Pull origin
run: git pull origin main --ff-only # Pull origin in case a commit has been done while updating

# Build the site using Jekyll
# This makes sure that the site actually builds before pushing to Crowdin
- name: Test site build via Jekyll
run: JEKYLL_ENV=production bundle exec jekyll build

- name: Push changes
run: |
git config user.email "flamekat54@aol.com"
git config user.name "TWLBot"
echo "machine github.com" > "$HOME/.netrc"
echo " login TWLBot" >> "$HOME/.netrc"
echo " password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"
echo "machine api.github.com" >> "$HOME/.netrc"
echo " login TWLBot" >> "$HOME/.netrc"
echo " password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"
git checkout main
git stage .
if git commit -m "Automatic translation import"; then
git push origin main
fi

0 comments on commit df6e66c

Please sign in to comment.